浅谈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 13 Redis
聊一聊Redis与MySQL双写一致性如何保证
Jun 26 Redis
Redis做数据持久化的解决方案及底层原理
Jul 15 Redis
浅谈redis整数集为什么不能降级
Jul 25 Redis
Jedis操作Redis实现模拟验证码发送功能
Sep 25 Redis
使用RedisTemplat实现简单的分布式锁
Nov 20 Redis
浅谈Redis跟MySQL的双写问题解决方案
Feb 24 Redis
Redis 操作多个数据库的配置的方法实现
Mar 23 Redis
redis sentinel监控高可用集群实现的配置步骤
Apr 01 Redis
Redis批量生成数据的实现
Jun 05 Redis
redis protocol通信协议及使用详解
Jul 15 Redis
如何使用注解方式实现 Redis 分布式锁
Jul 23 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
什么是短波收听SWL
2021/03/01 无线电
PHP 数据库树的遍历方法
2009/02/06 PHP
php mssql 日期出现中文字符的解决方法
2009/03/10 PHP
PHP中去掉字符串首尾空格的方法
2012/05/19 PHP
PHP递归返回值时出现的问题解决办法
2013/02/19 PHP
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
2014/08/20 PHP
php封装的连接Mysql类及用法分析
2015/12/10 PHP
YII2自动登录Cookie总是失效的解决方法
2017/06/28 PHP
yii gridview实现时间段筛选功能
2017/08/15 PHP
TP5框架使用QueryList采集框架爬小说操作示例
2020/03/26 PHP
用javascript实现改变TEXTAREA滚动条和按钮的颜色,以及怎样让滚动条变得扁平
2007/04/20 Javascript
JQuery中DOM事件冒泡实例分析
2015/06/13 Javascript
Bootstrap Table从服务器加载数据进行显示的实现方法
2016/09/29 Javascript
bootstrap监听滚动实现头部跟随滚动
2016/11/08 Javascript
BootStrap树状图显示功能
2016/11/24 Javascript
JS实现table表格固定表头且表头随横向滚动而滚动
2017/10/26 Javascript
浅谈JavaScript_DOM学习篇_图片切换小案例
2019/03/19 Javascript
jQuery实现移动端笔触canvas电子签名
2020/05/21 jQuery
[01:11:15]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[01:03:36]DOTA2-DPC中国联赛 正赛 VG vs Magma BO3 第二场 1月26日
2021/03/11 DOTA
Python 冒泡,选择,插入排序使用实例
2015/02/05 Python
分享一个可以生成各种进制格式IP的小工具实例代码
2017/07/28 Python
python使用正则表达式替换匹配成功的组
2017/11/17 Python
在python带权重的列表中随机取值的方法
2019/01/23 Python
Python安装与基本数据类型教程详解
2019/05/29 Python
Python API 操作Hadoop hdfs详解
2020/06/06 Python
python实现图片转换成素描和漫画格式
2020/08/19 Python
德国知名健康零食网上商店:Seeberger
2017/07/27 全球购物
设计师大码女装:11 Honoré
2020/05/03 全球购物
制衣厂各岗位职责
2013/12/02 职场文书
个人简历自我评价
2014/02/02 职场文书
物业工程部岗位职责
2015/02/11 职场文书
保研专家推荐信范文
2015/03/25 职场文书
javaScript Array api梳理
2021/03/31 Javascript
Python打包为exe详细教程
2021/05/18 Python
JS 4个超级实用的小技巧 提升开发效率
2021/10/05 Javascript