String数据结构

适合计数(点赞数,浏览数)场景,适合存放简单的数据类型(int,string等)。

  1. # 设置指定key的值
  2. SET key value
  3. # 只有在key不存在时设置key的值
  4. SETNX key value
  5. # 设置具有过期时间(秒)的key的值
  6. SETEX key seconds value
  7. # 设置具有过期时间(毫秒)的key的值
  8. PSETEX key milliseconds value
  9. # 用value参数覆盖给定key存储的字符串值,从offset的位置开始覆盖
  10. SETRANGE key offset value
  11. # 同时设置一个或多个key-value对
  12. MSET key1 value1 key2 value2
  13. # 同时设置多个key的value,前提是key不存在时才会设置
  14. MSETNX key1 value1 key2 value2
  15. SETBIT key offset value -?
  16. # 获取指定key的值
  17. GET key
  18. # 同时获取多个key的值
  19. MGET key1 key2
  20. # 获取key原有的值,然后设置新值value
  21. GETSET key value
  22. # 获取key的value值指定范围长度
  23. GETRANGE key start end
  24. GETBIT key offset -?
  25. # 将key中存储的数字值+1
  26. INCR key
  27. # 将key中存储的数字值+increment
  28. INCRBY key increment
  29. # 将key中存储的数字值+increment浮点数
  30. INCRBYFLOAT key increment
  31. # 将key中存储的数字值-1
  32. DECR key
  33. # 将key中存储的数字值-decrement
  34. DECRBY key decrement
  35. # 给key原有的值的末尾追加字符串value
  36. APPEND key value

Hash数据结构

适合存放Java对象,比如商品数据,文章数据等。

  1. # 将hash表key中的字段field的值设置为value
  2. HSET key field value
  3. # 同时将多个file-value对设置到哈希表key中
  4. HMSET key field1 value1 field2 value2
  5. # 只有字段field不存在时,设置哈希表字段的值
  6. HSETNX key field value
  7. # 获取在哈希表key中指定的字段filed的值
  8. HGET key field
  9. # 获取多个给定字段的值
  10. HMGET key field1 field2
  11. # 获取在哈希表中指定key的所有字段和值
  12. HGETALL key
  13. # 查看哈希表key中,指定字段是否存在
  14. HEXISTS key field
  15. # 删除一个或多个哈希表字段
  16. HDEL key field1 field2
  17. # 为哈希表key中的指定字段的整数值增加increment
  18. HINCRBY key field increment
  19. # 为哈希表key中的指定字段的浮点数值增加increment
  20. HINCRBYFLOAT key field increment
  21. # 获取所有哈希表中的字段
  22. HKEYS key
  23. # 获取哈希表中的所有值
  24. HVALS key
  25. # 获取哈希表中的字段的数量
  26. HLEN key

List数据结构

适合可重复列表(待办事项)场景,消息队列(秒杀,排队)场景,栈场景。