浅谈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持久化与主从复制的实践
Apr 27 Redis
SpringBoot 集成Redis 过程
Jun 02 Redis
Redis源码阅读:Redis字符串SDS详解
Jul 15 Redis
redis的list数据类型相关命令介绍及使用
Jan 18 Redis
Redis+Lua脚本实现计数器接口防刷功能(升级版)
Feb 12 Redis
解决Redis启动警告问题
Feb 24 Redis
解决linux下redis数据库overcommit_memory问题
Feb 24 Redis
解决redis批量删除key值的问题
Mar 23 Redis
Redis安装使用RedisJSON模块的方法
Mar 23 Redis
redis 解决库存并发问题实现数量控制
Apr 08 Redis
Redis基本数据类型哈希Hash常用操作命令
Jun 01 Redis
Redis入门基础常用操作命令整理
Jun 01 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
ThinkPHP提示错误Fatal error: Allowed memory size的解决方法
2015/02/12 PHP
浅析PHP中Session可能会引起并发问题
2015/07/23 PHP
对比分析php中Cookie与Session的异同
2016/02/19 PHP
php一个文件搞定微信jssdk配置
2016/12/12 PHP
静态的动态续篇之来点XML
2006/12/23 Javascript
在textarea文本域中显示HTML代码的方法
2007/03/06 Javascript
JQueryEasyUI Layout布局框架的使用
2013/04/08 Javascript
EasyUI中combobox默认值注意事项
2015/03/01 Javascript
jQuery仿gmail实现fixed布局的方法
2015/05/27 Javascript
探讨AngularJs中ui.route的简单应用
2016/11/16 Javascript
Node.js使用NodeMailer发送邮件实例代码
2017/03/06 Javascript
浅谈angularJS的$watch失效问题的解决方案
2017/08/11 Javascript
Angular17之Angular自定义指令详解
2018/01/21 Javascript
vue+SSM实现验证码功能
2018/12/07 Javascript
p5.js实现简单货车运动动画
2019/10/23 Javascript
vue实现商城秒杀倒计时功能
2019/12/12 Javascript
jQuery操作动画完整实例分析
2020/01/10 jQuery
[01:26]DOTA2荣耀之路2:iG,China
2018/05/24 DOTA
Python命令行参数解析模块optparse使用实例
2015/04/13 Python
pygame 精灵的行走及二段跳的实现方法(必看篇)
2017/07/10 Python
对Python的zip函数妙用,旋转矩阵详解
2018/12/13 Python
Python操作配置文件ini的三种方法讲解
2019/02/22 Python
Python 3.6打包成EXE可执行程序的实现
2019/10/18 Python
利用Tensorflow的队列多线程读取数据方式
2020/02/05 Python
关于多元线性回归分析——Python&SPSS
2020/02/24 Python
python爬虫基础知识点整理
2020/06/02 Python
德国汉莎航空中国官网: Lufthansa中国
2017/03/30 全球购物
英国电视和家用电器购物网站:rlrdistribution.co.uk
2018/11/20 全球购物
澳大利亚墨水站Ink Station:墨水和碳粉打印机墨盒
2019/03/24 全球购物
如何打开WebSphere远程debug
2014/10/10 面试题
国外软件测试工程师面试题
2016/12/09 面试题
vue 中 get / delete 传递数组参数方法
2021/03/23 Vue.js
高校毕业生自我鉴定
2013/10/27 职场文书
投标人法定代表人授权委托书格式
2014/09/28 职场文书
业务员岗位职责
2015/02/03 职场文书
2015秋季幼儿园开学通知
2015/07/16 职场文书