浅谈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
深入浅析Redis 集群伸缩原理
May 15 Redis
为Java项目添加Redis缓存的方法
May 18 Redis
详解Redis主从复制实践
May 19 Redis
为什么RedisCluster设计成16384个槽
Sep 25 Redis
Redis的字符串是如何实现的
Oct 24 Redis
Redis Stream类型的使用详解
Nov 11 Redis
Redis实现一个账号只能登录一个设备
Apr 19 Redis
Redis官方可视化工具RedisInsight安装使用教程
Apr 19 Redis
Redis实现主从复制方式(Master&Slave)
Jun 21 Redis
redis lua限流算法实现示例
Jul 15 Redis
python中使用redis用法详解
Dec 24 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 mb_convert_encoding 获取字符串编码类型实现代码
2009/04/26 PHP
smarty中post用法实例
2014/11/28 PHP
thinkPHP下的widget扩展用法实例分析
2015/12/26 PHP
php nginx 实时输出的简单实现方法
2018/01/21 PHP
PHP 范围解析操作符(::)用法分析【访问静态成员和类常量】
2020/04/14 PHP
How to Auto Include a Javascript File
2007/02/02 Javascript
YUI模块开发原理详解
2013/11/18 Javascript
js判断浏览器是否支持html5
2014/08/17 Javascript
JavaScript中实现键值对应的字典与哈希表结构的示例
2016/06/12 Javascript
JavaScript制作颜色反转小游戏
2016/09/25 Javascript
JS实现给对象动态添加属性的方法
2017/01/05 Javascript
input输入密码变黑点密文的实现方法
2017/01/09 Javascript
Vue-cli proxyTable 解决开发环境的跨域问题详解
2017/05/18 Javascript
在Swiper内如何制作CSS3动画效果示例代码
2017/12/07 Javascript
JavaScript设计模式之单例模式原理与用法实例分析
2018/07/26 Javascript
Vue实现类似Spring官网图片滑动效果方法
2019/03/01 Javascript
使用layer模态框给新页面传值的方法
2019/09/27 Javascript
Vue+Element UI 树形控件整合下拉功能菜单(tree + dropdown +input)
2020/08/28 Javascript
[05:03]显微镜下的DOTA2第十期——Ti3豪之超神幽鬼
2014/06/23 DOTA
[00:36]DOTA2上海特级锦标赛 LGD战队宣传片
2016/03/04 DOTA
Python Web框架Flask下网站开发入门实例
2015/02/08 Python
Python中Continue语句的用法的举例详解
2015/05/14 Python
Python求两点之间的直线距离(2种实现方法)
2019/07/07 Python
解决Python正则表达式匹配反斜杠''\''问题
2019/07/17 Python
python实现从ftp上下载文件的实例方法
2020/07/19 Python
Python如何使用27行代码绘制星星图
2020/07/20 Python
HTML5 CSS3实现一个精美VCD包装盒个性幻灯片案例
2014/06/16 HTML / CSS
Armor Lux法国官方网站:水手服装、成衣和内衣
2020/05/26 全球购物
俄罗斯卫浴采暖及维修用品超级市场:Dkrussia
2020/05/12 全球购物
夜大毕业生自我鉴定
2013/10/31 职场文书
数据保密承诺书
2014/06/03 职场文书
邀请函范文
2015/02/02 职场文书
神龙架导游词
2015/02/11 职场文书
沂蒙六姐妹观后感
2015/06/08 职场文书
小学音乐课歌曲《堆雪人》教学反思
2016/02/18 职场文书
Python实现单例模式的5种方法
2021/06/15 Python