浅谈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] 

如果元素在集合中存在则更新对应score  java从原来第一个变为第五个

如果score已经存在,则插入新的元素为对应score  redis插入原有的有序排序中

结合辅助软件可以看得更加清晰

到此这篇关于浅谈redis存储数据类型及存取值方法的文章就介绍到这了,更多相关redis存储数据类型内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐