Redis_啟動後雜項基礎 Redis一共16個資料庫 SELECT[0~15] 來切換資料庫 命令起效返回1 不起效返回0 或者nil 或者error 異常... DBSIZE 查詢數據的數 KEYS * 顯示所有的key值.支持Ant風格 KEYS k? 只查詢k1 k2 而不查詢k11 KEY ...
- Redis_啟動後雜項基礎
- Redis一共16個資料庫 SELECT[0~15] 來切換資料庫
- 命令起效返回1 不起效返回0 或者nil 或者error 異常...
- DBSIZE 查詢數據的數
- KEYS * 顯示所有的key值.支持Ant風格
- KEYS k? 只查詢k1 k2 而不查詢k11
- KEYS k?? 只查詢k11 k12 而不查詢k1
- FLUSHDB 清空當前庫. FLUSHALL清空所有庫共16個
- Redis索引從0開始
- 預設埠6379
- Redis_常用五大數據類型
- Redis常見數據類型操作命令 redisdoc.com
- key
- keys *
- set k1 v1 設置key為k1 value為v1 如果存在k1就修改,覆蓋了
- exists key的名字,判斷某個key是否存在
- move key db ---> 當前庫就沒有了,被移除了
- expire key 秒鐘:為給定的key設置過期時間
- ttl key 查看還有多少秒過期,-1表示永不過期,-2表示已過期,過期就移除了
- type key 查看你的key是什麼類型
- del key 刪除
- String 字元串 是Redis最基本的類型,一共key對應一個value,是二進位安全的,可以包含jpg圖片或者序列號的對象.value最多可以是512M
- set/get/del/append/strlen
- set k1 v1
- get k1
- del k1
- append k1 12345
- strlen k1
- incr/decr/incrby/decrby,一定要是數字才能進行加減
- incr k1 每次都+1
- decr k1 每次都-1
- incrby k1 2 每次都+2
- decrby k1 3 每次都-3
- getrange/setrange
- set k1 ty12345
- getrange k1 0 3 返回ty12 如果0 -1 返回全部
- setrange k1 0 xxx 返回7 此時get k1 返回xxx2345
- setex(set with expire)鍵秒值/setnx(if no exist)
- setex k4 10 v4 十秒後過期移除
- setnx k5 v5 如果不存在就設置 如果存在就不執行
- mset/mget/msetnx
- mset k1 v1 k2 v2 k3 v3
- mget k1 k2 k3
- msetnx k4 v4 k5 v5 如果資料庫存在k4 和 k5 都不存在才執行,否則都不執行
- getset(先get再set) getset k1 v1 如果k1不存在則報錯
- set/get/del/append/strlen
- List 列表 左右兩邊都可以插入
- lpush/rpush/lrange
- lpush list01 1 2 3 4 5 逆反
- rpush list02 1 2 3 4 5 正常
- lrange list01 0 -1 查看list01集合的全部內容
- lpop/rpop
- lpop list01 返回5 lpop list02 返回1
- rpop list01 返回1 rpop list02 返回5
- lindex ,按照索引下標獲得元素(從上到下) lindex list01 2 返回2
- llen 獲取長度 llen list01 返回長度數
- lrem 刪除N個value lrem list01 2 3 表示刪除list01中2個3 .返回刪除的數量
- ltrim 截取下標從0開始.截取內容為key的新value. ltrim list01 0 4 表示截取下標為0 1 2 3 4的數據
- rpoplpush 把第一個的尾值放到第二個首值 rpoplpush list01 list02 此時list01的最後一個值會被移除.list02會添加一個list01移除的那個值到下標0處
- lset list01 1 ddd 把list01下標為1的值改為ddd
- linsert key before/after 值1 值2 執行成功返回key的長度 失敗返回-1
- linsert list01 before aaa bbb 在list01中的第一個值為aaa的前面添加bbb
- linsert list01 after ccc ddd 在list01中的第一個值為ccc的後面添加ddd
- lpush/rpush/lrange
- Set 集合 String類型的無序集合.值不允許重覆.
- sadd/smembers/sismember
- sadd set01 1 1 1 1 2 3 3 4 返回插入成功數4
- smembers set01 查看set01裡面的數據
- sismember set01 x 查詢值x是否在set01裡面.是返回1 否返回0.
- scard 獲取集合裡面的元素個數
- srem set01 3 刪除集合中set01的值為3的數據
- srandmember set01 3 在set01中隨機出三條數據
- spop set01 3 隨機刪除三條數據
- smove set01 set02 x 把set01中的值x移到set02中
- sdiff/sinter/sunion
- sdiff set01 set02 ... 差集 set01中有.而set02和後面中沒有
- sinter set01 set02 ... 交集 set01 和 set02和後面中都有
- sunion set01 set02 ... 並集 set01 和 set02和後面中全部的數據.去重
- sadd/smembers/sismember
- Hash 哈希 類似於java的Map.KV模式不變.但V是一個鍵值對.
- hset/hget/hmset/hmget/hgetall/hdel
- hset user id 11 設置key為user key為id 值為11.插入成功返回1
- hget user id 得到key為user key為id 的值.返回11
- hmset student id 7 name daniu age 26 插入成功返回ok.失敗error.
- hmget student id name age 返回三條數據第一條"7".第二條"lisi".第三條"26".
- hgetall student 返回student的所有數據.返回6條.第一條"id".第二條"7".第三條"name".第四條"lisi"以此類推
- hdel student name age 刪除key為student key為name age 的數據.返回2.此時hgetall返回兩條數據
- hlen student 返回student裡面key的數量
- hexists student id 判斷student中是否有key為id.有返回1.無返回0
- hkeys/hvals
- hkeys student 得到student中所有的key
- hvals student 得到student中所有的value
- hincrby/hincrbyfloat
- hincrby student id 2 執行一次id的值都會增長2
- hincrbyfloat id 1.1 執行一次id的值都會增長1.1
- hsetnx user id 25 如果不存在則添加.添加成功返回1.失敗返回0
- hset/hget/hmset/hmget/hgetall/hdel
- Zset(sorted set) 有序集合 和set一樣不允許重覆,不同的是每個元素都會關聯一個double類型的分數,通過這些分數從大到小降序排列,成員是唯一的,分數是可以重覆的
- 多說一句
- 在set基礎上,加一個score值
- 之前set是k1 v1 v2 v3
- 現在zset是k1 score1 v1 score2 v2
- zadd
- zadd zset01 60 v1 70 v2 80 v3 90 v4 100 v5 返回插入數量5
- zrange
- zrange zset01 1 3 查看下標為1 2 3的數據.返回三條數據.第一條"v2".第二條"v3".第四條"v4"
- zrange zset01 1 3 withscores 查看下標為1 2 3的數據.返回六條數據.第一條"v2".第二條"70".第四條"v3".以此類推
- zrangebyscore key 開始score 結束score
- zrangebyscore zset01 60 90 返回60<=score<=90的值.返回四條數據.第一條"v1".第二條"v2".第三條"v3".第四條"v4".
- zrangebyscore zset01 60 90 withscores 返回60<=score<=90的值和score.返回八條數據.第一條"v1".第二條"60".第三條"v2".第四條"70".以此類推
- zrangebyscore zset01 60 (90 返回60<=score<90的值.返回三條數據.第一條"v1".第二條"v2".第三條"v3".
- zrangebyscore zset01 (60 (90 返回60<score<90的值.返回兩條數據.第一條"v2".第二條"v3".
- zrangebyscore zset01 60 90 withscores limit 2 1 先查出60<=score<=90的數據.從查詢出來的數據下標2開始查詢1條數據.此時返回兩條數據.第一條"v3".第二條"80"
- zrem zset01 v5 v3 返回成功刪除的記錄數2
- zcard/zcount key score區間/zrank key values值,作用是獲取下標值/zscore key 對應的值,獲得分數
- zrevrank key values值,作用是逆序獲得下標值
- zrevrange
- zrevrangebyscore key 結束score 開始score
- 多說一句
- key