String、List、Hash、Set、Sorted Set、Bitmap ...
- Redis keys
任何二進位序列
- Redis Strings
設置/覆蓋
>set mykey somevalue
>"OK"
只設置不覆蓋
>set mykey somevalue nx
>(nil)
只覆蓋不設置
>set mykey somevalue xx
>"OK"
獲取
>get mykey
>"somevalue"
計數
>set counter 100
>"OK"
原子增加
>incr counter
>101
原子增加n
>incrby counter 5
>106
原子減少
>decr counter
>105
原子減少n
>decrby counter 5
>100
多重設置
>mset a 10 b 20 c 30
>"OK"
多重獲取
>mget a b c
>"10","20","30"(array)
類型獲取
>type mykey
>"string"
判斷存在
>exist mykey
>1
刪除存在
>del mykey
>1
判斷不存在
>exist mykey
>0
刪除不存在
>del mykey
>0
定時銷毀
>expire mykey 5
>1
定時銷毀設置
>set mykey 100 ex 10
>"OK"
查詢定時
>ttl mykey
>8
- Redis Lists
設置/頭部追加
>lpush mylist A
>1
設置/尾部追加
>rpush mylist B
>2
多重設置/多重尾部追加
>rpush mylist 1 2 3 4 5
>7
獲取
>lrange mylist 0 -1(first last)
>"A","B"(array)
頭部獲取刪除
>lpop mylist
>"A"/(nil)
尾部獲取刪除
>rpop mylist
>"5"/(nil)
截取
>ltrim mylist 2 2(first last)
>"OK"
頭部阻塞獲取刪除
>blpop mylist
>"B"
尾部阻塞獲取刪除
>brpop mylist
>"4"
刪除列表
>del mylist
>1
獲取列表長度
>llen mylist
>0
- Redis Hashes
多重設置
>hmset myhash A a B b
>"OK"
獲取
>hget myhash A
>"a"
多重獲取
>hmget myhash A C
>"a",(nil)(array)
全部獲取
>hgetall myhash
>"A","a","B","b"(array)
- Redis Sets
設置
>sadd myset 1 2 3
>3
全部獲取
>smembers myset
>"3","1","2"(array)
判斷
>sismember myset 3
>0/1
隨機獲取刪除
>spop myset
>"2"
獲取集合長度
>scard myset
>2
- Redis Sorted Sets
設置
>zadd mysset 1 "A"
>1
>zadd mysset 2 "B"
>1
獲取
>zrange mysset 0 -1(first last)
>"A","B"(array)
反向獲取
>zrevrage mysset 0 -1(first last)
>"B","A"(array)
全部獲取
>zrange mysset 0 -1 withscores
>"A","1","B","2"
- Redis Bitmaps
設置
>setbit mykey 10 1
>1
獲取
>getbit mykey 10
>1/0
計算
>bitcount mykey
>2
參考文獻:https://redis.io/topics/data-types-intro