Redis存储数据类型,及存取值⽅法
Redis⽀持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)
String存取值:
是 redis 最基本的类型 ⼀个 key 对应⼀个 value。value其实不仅是String,也可以是数字。string 类型是⼆进制安全的。意思是 redis 的 string 可以包含任何数据。⽐如jpg图⽚或者序列化的对象。string 类型是 Redis 最基本的数据类型,string 类型的值最⼤能存储
512MB。 使⽤场景:常规key-value缓存应⽤。常规计数: 微博数, 粉丝数。
存值:SET key value 取值:GET key
hash存取值:
是⼀个键值(key => value)对集合。Redis hash 是⼀个 string 类型的 field 和 value 的映射表,hash 特别
适合⽤于存储对象
存值 HMSET key field value [field value ...] 取值 HGET key field 或者 SCAN cursor [MATCH pattern] [COUNT count]
或者 HGETALL key 获取全部
list存取值:
列表是简单的字符串列表,按照插⼊顺序排序。你可以添加⼀个元素到列表的头部(左边)或者尾部(右边)常⽤命令:lpush(添加左边元素),rpush,lpop(移除左边第⼀个元素),rpop,lrange(获取列表⽚段,LRANGE key start stop)等
存值:LPUSH key value [value ...] 取值:LRANGE key start stop
set存取值:
是string类型的⽆序集合。集合是通过hashtable实现的,概念和数学中个的集合基本类似,可以交集,并集,差集等等,set中的元素是没有顺序的。set对外提供的功能与list类似是⼀个列表的功能,特殊之处在于set是可以⾃动排重的,当你需要存储⼀个列表数据,⼜不希望出现重复数据时,set是⼀个很好的选择,并且set提供了判断某个成员是否在,⼀个set集合内的重要接⼝,这个也是list所不能提供的
存值:sadd key member [member ...] 取值: SMEMBERS key 或者 SSCAN key cursor [MATCH pattern] [COUNT count]
zset存取值:
Redis zset 和 set ⼀样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联⼀个double类型的分数。redis正是通过分数来为集合中的成员进⾏从⼩到⼤的排序。当你需要⼀个有序的并且不重复的集合列表,那么可以选择sorted set数据结构,zset的成员是唯⼀的,但分数(score)却可以重复。
存值:zadd key [NX|XX] [CH] [INCR] score member [score member ...] 取值: ZRANGE key start stop [WITHSCORES]
或者 ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
redis五种数据结构
如果元素在集合中存在则更新对应score java从原来第⼀个变为第五个
如果score已经存在,则插⼊新的元素为对应score redis插⼊原有的有序排序中
结合辅助软件可以看得更加清晰
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论