浅谈Redis存储数据类型及存取值方法


Posted in Redis onMay 08, 2021

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

浅谈Redis存储数据类型及存取值方法

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  获取全部

 浅谈Redis存储数据类型及存取值方法

list存取值: 

列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)常用命令:lpush(添加左边元素),rpush,lpop(移除左边第一个元素),rpop,lrange(获取列表片段,LRANGE key start stop)等

存值:LPUSH key value [value ...]  取值:LRANGE key start stop   

浅谈Redis存储数据类型及存取值方法

set存取值:

是string类型的无序集合。集合是通过hashtable实现的,概念和数学中个的集合基本类似,可以交集,并集,差集等等,set中的元素是没有顺序的。set对外提供的功能与list类似是一个列表的功能,特殊之处在于set是可以自动排重的,当你需要存储一个列表数据,又不希望出现重复数据时,set是一个很好的选择,并且set提供了判断某个成员是否在,一个set集合内的重要接口,这个也是list所不能提供的

存值:sadd key member [member ...]  取值: SMEMBERS key  或者 SSCAN key cursor [MATCH pattern] [COUNT count] 

浅谈Redis存储数据类型及存取值方法

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从原来第一个变为第五个

浅谈Redis存储数据类型及存取值方法

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

浅谈Redis存储数据类型及存取值方法

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

浅谈Redis存储数据类型及存取值方法

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

Redis 相关文章推荐
Redis数据结构之链表与字典的使用
May 11 Redis
详解缓存穿透击穿雪崩解决方案
May 28 Redis
详解Redis复制原理
Jun 04 Redis
你真的了解redis为什么要提供pipeline功能
Jun 22 Redis
基于Redis结合SpringBoot的秒杀案例详解
Oct 05 Redis
关于使用Redisson订阅数问题
Jan 18 Redis
 Redis 串行生成顺序编码的方法实现
Apr 03 Redis
解决 Redis 秒杀超卖场景的高并发
Apr 12 Redis
Redis实现主从复制方式(Master&Slave)
Jun 21 Redis
Redis sentinel哨兵集群的实现步骤
Jul 15 Redis
基于Redission的分布式锁实战
Aug 14 Redis
Redis IP地址的绑定的实现
May 08 #Redis
redis通过6379端口无法连接服务器(redis-server.exe闪退)
redis 查看所有的key方式
Redis5之后版本的高可用集群搭建的实现
详解RedisTemplate下Redis分布式锁引发的系列问题
详解Redis实现限流的三种方式
Apr 27 #Redis
在K8s上部署Redis集群的方法步骤
You might like
用PHP连接Oracle for NT 远程数据库
2006/10/09 PHP
PHP使用json_encode函数时不转义中文的解决方法
2014/11/12 PHP
thinkphp如何获取客户端IP
2015/11/03 PHP
PHP Filter过滤器全面解析
2016/08/09 PHP
微信开发之php表单微信中自动提交两次问题解决办法
2017/01/08 PHP
关于laravel 数据库迁移中integer类型是无法指定长度的问题
2019/10/09 PHP
javascript-TreeView父子联动效果保持节点状态一致
2007/08/12 Javascript
转自Jquery官方 jQuery1.1.3发布,速度提升800%,体积保持20K
2007/08/19 Javascript
jQuery实现密保互斥问题解决方案
2013/08/16 Javascript
纯js实现遮罩层效果原理分析
2014/05/27 Javascript
Javascript访问器属性实例分析
2014/12/30 Javascript
js中split和replace的用法实例
2015/02/28 Javascript
js实现网页抽奖实例
2015/08/05 Javascript
jquery+html5时钟特效代码分享(可设置闹钟并且语音提醒)
2020/03/30 Javascript
jquery实现带缩略图的可定制高度画廊效果(5种)
2015/08/28 Javascript
AngularJS入门教程中SQL实例详解
2016/07/27 Javascript
使用开源工具制作网页验证码的方法
2016/10/17 Javascript
原生js实现轮播图
2017/02/27 Javascript
Python获取当前时间的方法
2014/01/14 Python
浅谈Python爬取网页的编码处理
2016/11/04 Python
Djang的model创建的字段和参数详解
2019/07/27 Python
Python with标签使用方法解析
2020/01/17 Python
浅谈Python线程的同步互斥与死锁
2020/03/22 Python
python3 循环读取excel文件并写入json操作
2020/07/14 Python
python uuid生成唯一id或str的最简单案例
2021/01/13 Python
深入理解Python变量的数据类型和存储
2021/02/01 Python
亚洲领先的旅游体验市场:Voyagin
2019/11/23 全球购物
C# Debug和Testing相关面试题
2015/10/25 面试题
美术教师自我鉴定
2014/02/12 职场文书
元旦获奖感言
2014/03/08 职场文书
小学家长学校培训材料
2014/08/24 职场文书
后勤管理员岗位职责
2014/08/27 职场文书
后进基层党组织整改方案
2014/10/25 职场文书
2019新学期家长会工作计划
2019/08/21 职场文书
Nginx配置之实现多台服务器负载均衡
2021/08/02 Servers
详解Oracle块修改跟踪功能
2021/11/07 Oracle