redis基本数据类型,redis为什么性能高
- 数据库
- 2023-10-01
- 44
今天给各位分享redis基本数据类型的知识,其中也会对redis为什么性能高进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!redis哪些数据类型...
今天给各位分享redis基本数据类型的知识,其中也会对redis为什么性能高进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
redis哪些数据类型要序列化
connection.sAdd(key,list.toArray())
Redis方法支持多参数,只要转成数组就行了,前提是放入的单个对象也已经序列化。
或者把整个数组先用json工具序列化成字符串存储
redis有哪些数据类型
redis目前能够在缓存领域迅速蚕食鲸吞memcached的市场占比,能够在分布式架构中扮演重要的地位,都与其支持多种数据类型(而memcached只支持一种)这个优势有关。
redis支持存储的数据类型一共有5种,但是根据我的工作经验,最常用的只有三种,接下来,我就介绍下最常用的三种。
Listlist是redis中常用的数据类型,能够进行头尾查找,插入,移除(lpop,lpush,rpop,rpush等等);
支持像Python一样的分片读取(lrangeapi);
可以按照索引查找队列中元素(lindex),删除队列中元素(lrem),修改队列中元素(lset),还能获取队列长度(llen)。
list还有一个更加突出的功能,它可以从当前队列弹出一个值,然后插入到另一个队列中(BRPOPLPUSH)。这个过程是原子的,保证了数据一致性,避免由于中间步骤失败而导致数值丢失。
Setset其实和list类似,但是正如平时我们了解的set,首先它的存储是无序的,其次它的存储是去重的。也就是说,如果你需要记录数据的插入顺序,或者可能会插入重复数据,并且数据不可去重的话,用list就更合适些,其它场景,就可以考虑用set。
set可以进行基础的增删(sadd,srem),也能进行进行集合操作,比如求差集(sdiff),求交集(sinter),求并集(sunion),返回集合中全部元素,但是并不将它们弹出(smember)。同时set也支持像list一样,用一个原子操作,把一个元素从当前set弹出,并压入另一个set(smove)。
hashhash是redis中最常用的一种数据结构,其实就是我们常说的map。
它是一个string型的key-value,因此特别适用于存储序列化对象。理论上,每个hash可以存储40多亿个键值对。
hash的操作api要比set和list多了不少。
基础的有hset,hget,hdel,hexist(检查元素是否存在),hincrby(这个是为指定的整数字段加指定数值,相当于能够原子性的做到查找和修改,减少了我们自己去实现的麻烦)。
hash还有hgetAll,hgetKeys这种接口,能够批量的把hash中指定字段的全部内容都拉取回来。但是要慎用,我曾亲身经历过,在server高并发情况下,会导致server出现OOM。
除了上面介绍的常用的三种,redis还支持String和sortedset,但是由于不太常用,因此不在此介绍了。
以上是我的浅见,欢迎各位在下方评论区交流点赞。
我是苏苏思量,来自BAT的Java开发工程师,每日分享科技类见闻,欢迎关注我,与我共同进步。
redis zset score是什么数据类型
Sortedset是set的一个升级版本,它在set的基础上增加了一个顺序属性,这一属性在添加修改元素时候可以指定,每次指定后,zset会自动重新按新的值调整顺序。
可以理解为有两列字段的数据表,一列存value,一列存顺序编号。
操作中key理解为zset的名字。
OK,本文到此结束,希望对大家有所帮助。
本文链接:http://xinin56.com/su/46520.html