浅谈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 相关文章推荐
Redis6.0搭建集群Redis-cluster的方法
May 08 Redis
Windows中Redis安装配置流程并实现远程访问功能
Jun 07 Redis
redis不能访问本机真实ip地址的解决方案
Jul 07 Redis
浅谈redis整数集为什么不能降级
Jul 25 Redis
使用redis实现延迟通知功能(Redis过期键通知)
Sep 04 Redis
Redis三种集群模式详解
Oct 05 Redis
Window server中安装Redis的超详细教程
Nov 17 Redis
使用RedisTemplat实现简单的分布式锁
Nov 20 Redis
Redis之RedisTemplate配置方式(序列和反序列化)
Mar 13 Redis
解决redis批量删除key值的问题
Mar 23 Redis
Redis 限流器
May 15 Redis
浅谈Redis缓冲区机制
Jun 05 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代码
2007/03/03 PHP
ionCube 一款类似zend的PHP加密/解密工具
2010/07/25 PHP
php中的观察者模式简单实例
2015/01/20 PHP
php连接oracle数据库的方法(测试成功)
2016/05/26 PHP
PHP记录和读取JSON格式日志文件
2016/07/07 PHP
jquery URL参数判断,确定菜单样式
2010/05/31 Javascript
jquery select(列表)的操作(取值/赋值)
2011/03/16 Javascript
JavaScript定时器和优化的取消定时器方法
2015/07/03 Javascript
javascript实现延时显示提示框特效代码
2016/04/27 Javascript
BootStrap智能表单实战系列(三)分块表单配置详解
2016/06/13 Javascript
移动端H5开发 Turn.js实现很棒的翻书效果
2016/06/20 Javascript
JS点击某个图标或按钮弹出文件选择框的实现代码
2016/09/27 Javascript
详解vue-cli快速构建项目以及引入bootstrap、jq
2017/05/26 Javascript
Javascript实现的StopWatch功能示例
2017/06/13 Javascript
vue中使用localstorage来存储页面信息
2017/11/04 Javascript
微信小程序 获取手机号 JavaScript解密示例代码详解
2020/05/14 Javascript
vue+elementui通用弹窗的实现(新增+编辑)
2021/01/07 Vue.js
[01:38]DOTA2第二届亚洲邀请赛中国区预选赛出线战队晋级之路
2017/01/17 DOTA
[48:30]LGD vs infamous Supermajor小组赛D组 BO3 第一场 6.3
2018/06/04 DOTA
使用python实现扫描端口示例
2014/03/29 Python
Ubuntu下使用Python实现游戏制作中的切分图片功能
2018/03/30 Python
Python实现的根据文件名查找数据文件功能示例
2018/05/02 Python
Python3中_(下划线)和__(双下划线)的用途和区别
2019/04/26 Python
Python文件夹批处理操作代码实例
2020/07/21 Python
Python如何输出百分比
2020/07/31 Python
德国电子产品购物网站:TechInTheBasket德国
2018/12/07 全球购物
学生档案自我鉴定
2013/10/07 职场文书
妇科医生自荐信
2013/11/05 职场文书
教学器材管理制度
2014/01/26 职场文书
班级寄语大全
2014/04/10 职场文书
安全生产一岗双责责任书
2014/07/28 职场文书
部门群众路线教育实践活动对照检查材料思想汇报
2014/10/07 职场文书
基层党员群众路线整改措施及努力方向
2014/10/28 职场文书
Go缓冲channel和非缓冲channel的区别说明
2021/04/25 Golang
python使用PySimpleGUI设置进度条及控件使用
2021/06/10 Python
html5+实现plus.io进行拍照和图片等获取
2022/06/01 HTML / CSS