浅谈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基于Bitmap实现用户签到功能
Jun 20 Redis
redis客户端实现高可用读写分离的方式详解
Jul 04 Redis
redis requires ruby version2.2.2的解决方案
Jul 15 Redis
嵌入式Redis服务器在Spring Boot测试中的使用教程
Jul 21 Redis
浅谈Redis的keys命令到底有多慢
Oct 05 Redis
Redis Stream类型的使用详解
Nov 11 Redis
CentOS8.4安装Redis6.2.6的详细过程
Nov 20 Redis
Redis+Lua脚本实现计数器接口防刷功能(升级版)
Feb 12 Redis
分布式架构Redis中有哪些数据结构及底层实现原理
Mar 13 Redis
一文搞懂Redis中String数据类型
Apr 03 Redis
windows安装 redis 6.2.6最新步骤详解
Apr 26 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
php5 and xml示例
2006/11/22 PHP
php下实现在指定目录搜索指定类型文件的函数
2008/10/03 PHP
php获取QQ头像并显示的方法
2014/12/23 PHP
php实现QQ空间获取当前用户的用户名并生成图片
2015/07/25 PHP
javascript写的一个链表实现代码
2009/10/25 Javascript
window.ActiveXObject使用说明
2010/11/08 Javascript
javascript Array对象基础知识小结
2010/11/16 Javascript
JavaScript中使用Object.prototype.toString判断是否为数组
2015/04/01 Javascript
jQuery鼠标经过方形图片切换成圆边效果代码分享
2015/08/20 Javascript
把普通对象转换成json格式的对象的简单实例
2016/07/04 Javascript
KnockoutJS 3.X API 第四章之数据控制流with绑定
2016/10/10 Javascript
快速解决js开发下拉框中blur与click冲突
2016/10/10 Javascript
Vue三层嵌套路由的示例代码
2018/05/05 Javascript
使用RN Animated做一个“添加购物车”动画的方法
2018/09/12 Javascript
JavaScript学习教程之cookie与webstorage
2019/06/23 Javascript
ES6中的Javascript解构的实现
2020/10/30 Javascript
Python中字典的基本知识初步介绍
2015/05/21 Python
详解python3中socket套接字的编码问题解决
2017/07/01 Python
wxPython实现窗口用图片做背景
2018/04/25 Python
python实现超市扫码仪计费
2018/05/30 Python
Python实现base64编码的图片保存到本地功能示例
2018/06/22 Python
在Python中使用Neo4j的方法
2019/03/14 Python
解决django后台样式丢失,css资源加载失败的问题
2019/06/11 Python
详解python中的time和datetime的常用方法
2019/07/08 Python
在Python函数中输入任意数量参数的实例
2019/07/16 Python
用sqlalchemy构建Django连接池的实例
2019/08/29 Python
Pycharm及python安装详细教程(图解)
2020/07/31 Python
python Zmail模块简介与使用示例
2020/12/19 Python
canvas实现圆绘制的示例代码
2019/09/11 HTML / CSS
巴西最好的男鞋:Rafarillo
2018/05/25 全球购物
意外死亡赔偿协议书
2014/10/14 职场文书
财务会计岗位职责
2015/02/03 职场文书
2015年小学生自我评价范文
2015/03/03 职场文书
实习证明模板
2015/06/16 职场文书
商业计划书格式、范文
2019/03/21 职场文书
css3带你实现3D转换效果
2022/02/24 HTML / CSS