浅谈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基本命令与使用场景
Jun 01 Redis
Redis高并发防止秒杀超卖实战源码解决方案
Nov 01 Redis
Redis 持久化 RDB 与 AOF的执行过程
Nov 07 Redis
基于Redis zSet实现滑动窗口对短信进行防刷限流的问题
Feb 12 Redis
redis sentinel监控高可用集群实现的配置步骤
Apr 01 Redis
sentinel支持的redis高可用集群配置详解
Apr 01 Redis
 Redis 串行生成顺序编码的方法实现
Apr 03 Redis
Redis超详细讲解高可用主从复制基础与哨兵模式方案
Apr 07 Redis
Redis如何实现验证码发送 以及限制每日发送次数
Apr 18 Redis
Redis基本数据类型Zset有序集合常用操作
Jun 01 Redis
一文教你快速生成MySQL数据库关系图
Jun 28 Redis
Redis唯一ID生成器的实现
Jul 07 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 结果集的分页实现代码
2009/03/10 PHP
解析php如何将日志写进syslog
2013/06/28 PHP
PHP CURL CURLOPT参数说明(curl_setopt)
2013/09/30 PHP
PHP执行Curl时报错提示CURL ERROR: Recv failure: Connection reset by peer的解决方法
2014/06/26 PHP
PHP的Json中文处理解决方案
2016/09/29 PHP
php+redis实现注册、删除、编辑、分页、登录、关注等功能示例
2017/02/15 PHP
PHP命名空间namespace的定义方法详解
2017/03/29 PHP
PHP添加文字水印或图片水印的水印类完整源代码与使用示例
2019/03/18 PHP
php+iframe 实现上传文件功能示例
2020/03/04 PHP
HR vs CL BO3 第二场 2.13
2021/03/10 DOTA
jQuery UI Autocomplete 1.8.16 中文输入修正代码
2012/04/16 Javascript
最佳6款用于移动网站开发的jQuery 图片滑块插件小结
2012/07/20 Javascript
js批量设置样式的三种方法不推荐使用with
2013/02/25 Javascript
js中unicode转码方法详解
2015/10/09 Javascript
JavaScript简单遍历DOM对象所有属性的实现方法
2015/10/21 Javascript
angularjs创建弹出框实现拖动效果
2020/08/25 Javascript
浅析如何利用JavaScript进行语音识别
2016/10/27 Javascript
vue使用nprogress加载路由进度条的方法
2020/06/04 Javascript
Python设计模式之单例模式实例
2014/04/26 Python
Python查看多台服务器进程的脚本分享
2014/06/11 Python
简单介绍Python中的JSON模块
2015/04/08 Python
python3.6.3安装图文教程 TensorFlow安装配置方法
2020/06/24 Python
Python 加密与解密小结
2018/12/06 Python
详解通过focusout事件解决IOS键盘收起时界面不归位的问题
2019/07/18 HTML / CSS
KEETSA环保床垫:更好的睡眠,更好的生活!
2016/11/24 全球购物
Giglio俄罗斯奢侈品购物网:男士、女士、儿童高级时装
2018/07/27 全球购物
是否有自动比较结构的方法
2015/06/03 面试题
英语系本科生个人求职信
2013/09/21 职场文书
村官学习十八大感想
2014/01/15 职场文书
品质主管岗位职责
2014/03/16 职场文书
体育运动口号
2014/06/09 职场文书
四年级小学生评语
2014/12/26 职场文书
自主招生专家推荐信
2015/03/26 职场文书
小学体育课教学反思
2016/02/16 职场文书
写好Python代码的几条重要技巧
2021/05/21 Python
VUE之图片Base64编码使用ElementUI组件上传
2022/04/09 Vue.js