String数据结构
适合计数(点赞数,浏览数)场景,适合存放简单的数据类型(int,string等)。
# 设置指定key的值
SET key value
# 只有在key不存在时设置key的值
SETNX key value
# 设置具有过期时间(秒)的key的值
SETEX key seconds value
# 设置具有过期时间(毫秒)的key的值
PSETEX key milliseconds value
# 用value参数覆盖给定key存储的字符串值,从offset的位置开始覆盖
SETRANGE key offset value
# 同时设置一个或多个key-value对
MSET key1 value1 key2 value2
# 同时设置多个key的value,前提是key不存在时才会设置
MSETNX key1 value1 key2 value2
SETBIT key offset value -?
# 获取指定key的值
GET key
# 同时获取多个key的值
MGET key1 key2
# 获取key原有的值,然后设置新值value
GETSET key value
# 获取key的value值指定范围长度
GETRANGE key start end
GETBIT key offset -?
# 将key中存储的数字值+1
INCR key
# 将key中存储的数字值+increment
INCRBY key increment
# 将key中存储的数字值+increment浮点数
INCRBYFLOAT key increment
# 将key中存储的数字值-1
DECR key
# 将key中存储的数字值-decrement
DECRBY key decrement
# 给key原有的值的末尾追加字符串value
APPEND key value
Hash数据结构
适合存放Java对象,比如商品数据,文章数据等。
# 将hash表key中的字段field的值设置为value
HSET key field value
# 同时将多个file-value对设置到哈希表key中
HMSET key field1 value1 field2 value2
# 只有字段field不存在时,设置哈希表字段的值
HSETNX key field value
# 获取在哈希表key中指定的字段filed的值
HGET key field
# 获取多个给定字段的值
HMGET key field1 field2
# 获取在哈希表中指定key的所有字段和值
HGETALL key
# 查看哈希表key中,指定字段是否存在
HEXISTS key field
# 删除一个或多个哈希表字段
HDEL key field1 field2
# 为哈希表key中的指定字段的整数值增加increment
HINCRBY key field increment
# 为哈希表key中的指定字段的浮点数值增加increment
HINCRBYFLOAT key field increment
# 获取所有哈希表中的字段
HKEYS key
# 获取哈希表中的所有值
HVALS key
# 获取哈希表中的字段的数量
HLEN key
List数据结构
适合可重复列表(待办事项)场景,消息队列(秒杀,排队)场景,栈场景。