REDIS数据类型

90 阅读3分钟
  1. redis数据类型 string字符串 、hash 哈希 、list 列表 、set 集合 、sort set 有序集合

  2. string 字符串

  3. redis中最基本的数据存储类型,可以存储字符串,数字,json等

  4. 常用操作命令 set[设置key=>value] get[获取value] del[删除key=>value] mset[批量设置key=>value]

  5. 应用场景:计算站点访问量、当前在线人数、登录信息等

  6. list 列表

  7. 是简单的字符串列表,按照插入顺序排序,可以从头插入也可以从尾部插入[时间复杂度都是O(1)]

  8. 列表允许从头或者尾部获取数据,获取的数据越接近两头速度越快

  9. 李彪由多个字符串值组成的有序可重复序列,是链表结构[O(1)]

  10. 最多可插入4294967295个元素

  11. 常用操作命令

  12. LPUSH 将值从头部插入列表

  13. RPUSH 将值从尾部插入列表

  14. LRANGE 检索一系列项目

  15. LPOP/RPOP 用于显示和删除两端的项目

  16. LINDEX 从列表中的特定位置获取值

  17. 应用场景:最新消息排行榜、消息队列等

  18. hash哈希

  19. 是一个键值对集合,是一个string类型的field和value的映射表

  20. 适用于存储对象

  21. 常用操作命令

  22. HSET 将值映射到hash中的键

  23. HGET 检索与哈希中的键关联的各个值

  24. HGETALL 显示整个hash内容

  25. HDEL 从hash中删除现有的键值对

  26. HMSET 批量设置值

  27. HEXISTS 查询hash表中是否有某个字段

  28. 应用场景:存储部分更改数据,如用户信息、会话共享。

  29. set集合

  30. 是string类型的无序集合,集合中的每个string都是唯一的不重复的。

  31. 集合时通过hash表实现的,所以任何操作复杂度都是o(1)

  32. 常用操作命令[SDIFF、SDIFFSTORE、SINTER、SINTERSTORE、SRANDMEMBER]

  33. SADD 向集合中添加一个或多个项目[插入到集合的头部]

  34. SISMEMBER 找出一个项目是否是集合的一部分

  35. SMEMBERS 从集合中检索所有项目

  36. SREM 从集合中删除所有项

  37. SCARD 集合中项目总数

  38. sorted set有序集合

  39. zset有序集合,和set一样是string类型元素集合,且不允许有重复成员

  40. 每个成员都会关联一个double类型的分数,redis通过分数进行排序

  41. 成员不可重复,分数可以重复

  42. 常用操作命令

  43. ZADD 降具有分数的成员添加到排序集里

  44. ZRANGE 根据项目在排序中的位置检索项目 zrange key startIndex[>=0] endIndex[>=0]...

  45. ZRANGEBYSCORE 根据定义的分数范围从排序集中提取项目

  46. ZREM 从已排序的集中删除项目成员

  47. 使用场景:带有权重的元素,比如游戏排行榜。比较复杂的数据结构,一半用到的场景不算太多。