浅谈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 14 Redis
Redis持久化与主从复制的实践
Apr 27 Redis
分布式锁为什么要选择Zookeeper而不是Redis?看完这篇你就明白了
May 21 Redis
redis实现共同好友的思路详解
May 26 Redis
redis哨兵常用命令和监控示例详解
May 27 Redis
浅谈Redis的几个过期策略
May 27 Redis
Redis的字符串是如何实现的
Oct 24 Redis
解决Redis启动警告问题
Feb 24 Redis
详解Redis的三种常用的缓存读写策略步骤
May 06 Redis
Redis基本数据类型List常用操作命令
Jun 01 Redis
基于redis+lua进行限流的方法
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
php将html转成wml的WAP标记语言实例
2015/07/08 PHP
浅谈PHP定义命令空间的几个注意点(推荐)
2016/10/29 PHP
用JavaScrpt实现文件夹简单轻松加密的实现方法图文
2008/09/08 Javascript
页面js遇到乱码问题的解决方法是和无法转码的情况
2014/04/30 Javascript
HTML5游戏引擎LTweenLite实现的超帅动画效果(附demo源码下载)
2016/01/26 Javascript
AngularJS 执行流程详细介绍
2016/08/18 Javascript
jQuery视差滚动效果网页实现方法经验总结
2016/09/29 Javascript
简单易懂的天气插件(代码分享)
2017/02/04 Javascript
关于javascript获取内联样式与嵌入式样式的实例
2017/06/01 Javascript
浅谈vue2 单页面如何设置网页title
2017/11/08 Javascript
解决vue+webpack打包路径的问题
2018/03/06 Javascript
详解swiper在vue中的应用(以3.0为例)
2018/09/20 Javascript
Node.js使用supervisor进行开发中调试的方法
2019/03/26 Javascript
微信小程序第三方框架对比 之 wepy / mpvue / taro
2019/04/10 Javascript
vue+eslint+vscode配置教程
2019/08/09 Javascript
JavaScript如何判断input数据类型
2020/02/06 Javascript
nodejs实现的http、https 请求封装操作示例
2020/02/06 NodeJs
[01:21:58]守擂赛DOTA2第一周决赛
2020/04/22 DOTA
python实现排序算法
2014/02/14 Python
python读取浮点数和读取文本文件示例
2014/05/06 Python
Python中Collection的使用小技巧
2014/08/18 Python
python中requests爬去网页内容出现乱码问题解决方法介绍
2017/10/25 Python
tensorflow1.0学习之模型的保存与恢复(Saver)
2018/04/23 Python
对python GUI实现完美进度条的示例详解
2018/12/13 Python
Django框架实现的普通登录案例【使用POST方法】
2019/05/15 Python
Python with标签使用方法解析
2020/01/17 Python
解决windows下python3使用multiprocessing.Pool出现的问题
2020/04/08 Python
5行Python代码实现图像分割的步骤详解
2020/05/25 Python
Python实现王者荣耀自动刷金币的完整步骤
2021/01/22 Python
第一范式(1NF)、第二范式(2NF)和第三范式(3NF)之间的区别是什么?
2016/04/28 面试题
秘书专业自荐信范文
2013/12/26 职场文书
中学生国旗下讲话稿
2014/04/26 职场文书
项目备案申请报告
2015/05/15 职场文书
python glom模块的使用简介
2021/04/13 Python
CSS 一行代码实现头像与国旗的融合
2021/10/24 HTML / CSS
Python中的嵌套循环详情
2022/03/23 Python