string
- 最为基础的数据存储类型,一个key对应一个value
- 是二进制安全的,意味着该类型可以接受 任何格式 的数据,如 JPEG 或 序列化对象 等。
- 最多可以容纳的数据长度是512M。
set 命令
将字符串值 value 关联到 key
>set name 李雷
>set age 20
注意:
再次设置相同的key,其value会被覆盖,不会报错:
>set name 韩梅梅
>get name
显示:
韩梅梅
此命令随着升级功能越来越多,具体参见下面网址
http://redisdoc.com/string/set.html
get
>get name
显示:
李雷
http://redisdoc.com/string/get.html
append
如果 key 存在并且其 value 是字符串, 将把 value 追加原 value 的末尾。
http://redisdoc.com/string/append.html
incr key
http://redisdoc.com/string/incrby.html
当key的value是数字时,加1
如果键 key 不存在, 那么它的值会先被初始化为 0 , 然后再执行 INCR 命令。
如果键 key 储存的值不能被解释为数字, 那么 INCR 命令将返回一个错误。
INCR 命令是一个针对字符串的操作。 因为 Redis 并没有专用的整数类型, 所以键 key 储存的值在执行 INCR 命令时会被解释为十进制 64 位有符号整数。
incrby key decrement
当key的value是数字时,加上 increment
如果键 key 不存在, 那么键 key 的值会先被初始化为 0 , 然后再执行 INCRBY 命令。
如果键 key 储存的值不能被解释为数字, 那么 INCRBY 命令将返回一个错误。
本操作的值限制在 64 位(bit)有符号数字表示之内。
redis> SET rank 50
OK
redis> INCRBY rank 20
(integer) 70
redis> GET rank
"70"
decr key
当key的value是数字时,减1
如果键 key 不存在, 那么键 key 的值会先被初始化为 0 , 然后再执行 DECR 操作。
如果键 key 储存的值不能被解释为数字, 那么 DECR 命令将返回一个错误。
本操作的值限制在 64 位(bit)有符号数字表示之内。
redis> SET failure_times 10
OK
redis> DECR failure_times
(integer) 9
decrby key decrement
当key的value是数字时,减 decrement
如果键 key 不存在, 那么键 key 的值会先被初始化为 0 , 然后再执行 DECRBY 命令。
如果键 key 储存的值不能被解释为数字, 那么 DECRBY 命令将返回一个错误。
本操作的值限制在 64 位(bit)有符号数字表示之内。
redis> SET count 100
OK
redis> DECRBY count 20
(integer) 80
hash 哈希、字典
相当于java的hashmap、javascript中的json、python中的dict
key是string类型,value是key-value对,适合用于存储对象
命令
http://redisdoc.com/hash/index.html
https://www.runoob.com/redis/redis-hashes.html
HSET
HSETNX
HGET
HEXISTS
HDEL
HLEN
HSTRLEN
HINCRBY
HINCRBYFLOAT
HMSET
HMGET
HKEYS
HVALS
HGETALL
HSCAN
设置一个新域:
redis> HSET website google "www.g.cn"
(integer) 1
redis> HGET website google
"www.g.cn"
对一个已存在的域进行更新:
redis> HSET website google "www.google.com"
(integer) 0
redis> HGET website google
"www.google.com"
list 列表
简单的字符串列表,底层实现是双向链表,可以在头和尾 添加/移除 元素,通过索引下标操作中间的节点性能比较差,按照插入顺序排序
命令
http://redisdoc.com/list/index.html
https://www.runoob.com/redis/redis-lists.html
LPUSH
LPUSHX
RPUSH
RPUSHX
LPOP
RPOP
RPOPLPUSH
LREM
LLEN
LINDEX
LINSERT
LSET
LRANGE
LTRIM
BLPOP
BRPOP
BRPOPLPUSH
set 集合
string类型的无序集合(其元素不重复),集合是通过哈希表实现的
命令
http://redisdoc.com/set/index.html
https://www.runoob.com/redis/redis-sets.html
SADD
SISMEMBER
SPOP
SRANDMEMBER
SREM
SMOVE
SCARD
SMEMBERS
SSCAN
SINTER
SINTERSTORE
SUNION
SUNIONSTORE
SDIFF
SDIFFSTORE
zset(sorted set)有序集合
和 set 一样也是string类型元素的集合(其元素不重复)
不同的是:每个元素都会 关联 一个double类型的分数。通过分数为元素进行从小到大的排序。
zset的成员是唯一的,但分数(score)可以重复。
命令
http://redisdoc.com/sorted_set/index.html
https://www.runoob.com/redis/redis-sorted-sets.html
ZADD
ZSCORE
ZINCRBY
ZCARD
ZCOUNT
ZRANGE
ZREVRANGE
ZRANGEBYSCORE
ZREVRANGEBYSCORE
ZRANK
ZREVRANK
ZREM
ZREMRANGEBYRANK
ZREMRANGEBYSCORE
ZRANGEBYLEX
ZLEXCOUNT
ZREMRANGEBYLEX
ZSCAN
ZUNIONSTORE
ZINTERSTORE