【快速掌握】Redis 的五种数据类型
不同于MySQL的表结构所带来的复杂语句,Redis只需要维护好它的【key-value】结构就可以,因此相比于MySQL,语句非常简单。
今天介绍一下Redis 五种常用的数据类型:
这五种数据类型对应五种【key-value】结构:分别是String\Hash\List\Set\SorceSet
字符串类型String
- 1.String类型既可以保存普通文字,也可以保存序列化的二进制数据
- 2.最大可以存储512M数据,一般足够我们使用
字符串类型语句
1.【SET KEY_NAME VALUE】本条语句用于创建一个字符串类型的数据,如果key已经存储了其他值,SET就覆盖旧值。
2.【GET KEY_NAME】本条语句用于查看数据内容,如果 key 不存在,返回 null 。如果key 储存的值不是字符串类型,返回一个错误。
3.【GETRANGE KEY_NAME INDEX1 INDEX2】本条语句用于查看某个范围内的数据内容,截取范围由start和end两个转换量决定(包括start和end在内)。
4.【STRLEN KEY_NAME】本条语句用于获得数据的长度,当密钥存储的不是字符串值时,返回一个错误。
5.【DEL KEY_NAME】本条语句用于删除数据
6.【SETEX KEY_NAME TIME VALUE】本条语句用于设置具有生命周期的数据,数据在经过一段时间后自动销毁,单位是秒
7.【MSET KEY_NAME_1 VALUE KEY_NAME_2 VALUE……】本条语句用于创建多条数据
8.【MGET KEY_NAME KEY_NAME_1 KEY_NAME_2】本条语句用于查看多条数据
9.【APPEND KEY_NAME VALUE】本条语句用于在某条数据后面追加内容
10.【INCR num 】数字自增加1,注意:针对的是整数
11.【INCRBY】数字自增加任意整数,注意:针对的是整数
12.【INCRBYFLOAT 】数字自增加任意小数
13.【DECR 】数字自减少1,注意:针对的是整数
14.【DECRBY 】数字自减少任意整数5,注意:针对的是整数
15.【注意:没有DECRBYFLOAT 这种语法,但是可以通过INCRBYFLOAT 增加一个负数变通实现】
哈希数据类型Hash
- Hash类型用于保存字典类型的数据
哈希类型语句
1.【HSET KEY_NAME key value】设置哈希字段
2.【HGET KEY_NAME key】查看哈希字段值
3.【HMSET KEY_NAME key_1 value key_2 value】设置多个哈希字段
4.【HMGET KEY_NAME key_1 key_2】查看多个哈希字段值
5.【HGETALL KEY_NAME】查看哈希字典中所有的key和value
6.【HKEYS KEY_NAME】查看所有哈希字段key
7.【HVALS KEY_NAME】查看所有哈希字段值value
8.【HLEN】查看所有哈希字段数量
9.【HEXISTS KEY_NAME key】判断哈希字典中是否存在某个字段key
9.【HINCRBY】让某个哈希字段的值加上指定的整数
10.【HINCRBYFLOAT】让某个哈希字段的值加上指定的小数
列表数据类型List
- list类型可以用于保存序列化数据
列表类型语句
1.【LPUSH】如果列表不存在,则创建一个列表并从左向右向里添加数据
2.【RPUSH】如果列表不存在,则创建一个列表并从右向左向里添加数据
3.【LRANGE】查看列表中某个范围内的数据(0 -1 表示从第0个到最后一个)
4.【LINSERT BEFORE/AFTER】在某个位置插入元素
5.【LSET key index value】替换列表中的某个数据
6.【LLEN】获得列表长度
7.【LINDEX】获得列表中某个索引下的元素
8.【LPOP】删除列表中最左边的元素,并返回该元素
9.【RPOP】删除列表中最右边的元素,并返回该元素
10.【LREM】删除列表中的某个元素
集合数据类型Set
- 如果要保存的数据不允许重复,可以使用集合类型
集合类型语句
1.【SADD KEY_NAME VALUE】
Redis Sadd命令将一个或多个成员元素加入到集合中,已经存在于集合的成员元素将被忽略。假如集合键不存在,则创建一个只包含添加的元素作成员的集合。当集合键不是集合类型时,返回一个错误。
2.【SMEMBERS】查看集合中的所有数据
3.【SCARD】获得集合长度
4.【SISMEMBER】判断是否含有某个元素
5.【SREM】删除元素
6.【SPOP】随机删除集合中某个元素,并返回该元素
7.【SRANDMEMBER】随机返回某个元素
有序集合数据类型ZSet
- 有序集合是带有排序功能的集合,Redis可以根据分数值对元素进行排序
有序集合类型语句
1.【ZADD KEY_NAME SCORE1 VALUE1.. SCOREN VALUEN】
Zadd 命令用于将一个或多个成员元素及其分数值加入到有序集当中。如果某个成员已经是有序集的成员,那么更新这个成员的分数值,并通过重新插入这个成员元素,来保证该成员在正确的位置上。分数值可以是整数值或双精度浮点数。如果有序集合 key 不存在,则创建一个空的有序集并执行 ZADD 操作。当 key 存在但不是有序集类型时,返回一个错误。
2.【ZINCRBY KEY_NAME INCREMENT MEMBER】
Zincrby命令对有序集合中指定成员的分数附加增量,可以通过传递一个负数值增量,当key不存在,或分数不是key的成员时,ZINCRBY key递增成员等效于ZADD key递增成员。当key不是有序集类型时,返回一个错误。分数值可以是整数值或双精度浮点数。
3.【ZREVRANGE KEY_NAME start stop】
返回指定区间内的成员,按照分数值进行降序排列,具有相同分数值的成员按字典序的逆序(reverse lexicographical order)排列。
4.【ZCARD】获得有序集合的长度
5.【ZCOUNT】查询某个分数区间内的元素数量
6.【ZSCORE】查询某个元素的分数值
7.【ZRANGE KEY_NAME start stop [withscores]】查询某个范围内的集合元素,升序
8.【ZREVRANGE KEY_NAME start stop [withscores]】查询某个范围内的集合元素,降序
9.【ZRANGEBYSCORE】获得分数值区间内的元素,升序
10.【ZREVRANGESCORE】获得分数值区间内的元素,降序
11.【ZREM】删除有序集合中的元素
12.【ZREMRANGEBYRANK】删除排名区间内的元素
13.【ZREMRANGEBYSCORE】删除分数值区间内的元素
That`s all !
【快速掌握】Redis 的五种数据类型的更多相关文章
- Redis: Redis支持五种数据类型
ylbtech-Redis: Redis支持五种数据类型 Redis支持五种数据类型:string(字符串) ,hash(哈希),list(列表),set(集合)及zset(sorted set:有序 ...
- Redis的五种数据类型的简单介绍和使用
1.准备工作: 1.1在Linux下安装Redis https://www.cnblogs.com/dddyyy/p/9763098.html 1.2启动Redis 先把root/redis的red ...
- redis的五种数据类型及应用场景
前言 redis是用键值对的形式来保存数据,键类型只能是String,但是值类型可以有String.List.Hash.Set.Sorted Set五种,来满足不同场景的特定需求. 本博客中的示例不是 ...
- [Redis]Redis的五种数据类型与键值/服务器相关命令
-------------------------------------------------------------------------------------- String(字符串):最 ...
- StackExchange.Redis学习笔记(二) Redis查询 五种数据类型的应用
ConnectionMultiplexer ConnectionMultiplexer 是StackExchange.Redis的核心对象,用这个类的实例来进行Redis的一系列操作,对于一个整个应用 ...
- Redis的五种数据类型及方法
字符串string: 字符串类型是Redis中最为基础的数据存储类型,是一个由字节组成的序列,他在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据货Json对象描 ...
- Redis的五种数据类型
官方的几篇很好的文章: https://redis.io/topics/data-types https://redis.io/topics/data-types-intro https://redi ...
- Redis:五种数据类型的简单增删改查
Redis简单增删改查例子 例一:字符串的增删改查 #增加一个key为ay_key的值 127.0.0.1:6379> set ay_key "ay" OK #查询ay_ke ...
- Redis探索之路(四):Redis的五种数据类型Set和ZSet
一:Set无需集合 Set是个集合,string类型的无需集合,通过hash table实现,添加删除查找复杂度都是0(1).对集合我们可以取并集,交集和差集.通过这些操作我们可以实现sns中的好友推 ...
随机推荐
- 使用ganglia 实现监控 hadoop 和 hbase(详细过程总结)
一,环境准备 hadoop 2.8.2 分布式环境(三个节点 安装请参考 hadoop分布式环境安装) hbase 1.2.6 分布式环境(三个节点 ,安装参考hbase分布式环境安装 ) 主节点采 ...
- centos编译安装vim7.4
./configure --with-features=huge --enable-fontset --enable-gui=gtk2 --enable-multibyte --enable-pyth ...
- .Net微服务实战之必须得面对的分布式问题
系列文章 .Net微服务实战之技术选型篇 .Net微服务实战之技术架构分层篇 .Net微服务实战之DevOps篇 .Net微服务实战之负载均衡(上) .Net微服务实战之CI/CD .Net微服务实战 ...
- 小程序navigateTo和redirectTo跳转的区别与应用
最近在做小程序的跳转,发现navigateTo的跳转无法满足业务需求,所以特地记录下 业务需求 类似一个淘宝的在订单界面选择地址的功能,从A页面点击跳转到B页面的地址列表页面,B页面可以选择已有的地址 ...
- Flink-v1.12官方网站翻译-P003-Real Time Reporting with the Table API
利用表格API进行实时报告 Apache Flink提供的Table API是一个统一的.关系型的API,用于批处理和流处理,即在无边界的.实时的流或有边界的.批处理的数据集上以相同的语义执行查询,并 ...
- three.js cannon.js物理引擎制作一个保龄球游戏
关于cannon.js我们已经学习了一些知识,今天郭先生就使用已学的cannon.js物理引擎的知识配合three基础知识来做一个保龄球小游戏,效果如下图,在线案例请点击博客原文. 我们需要掌握的技能 ...
- SpringSecurity注解的使用
@Secured 判断用户具有某个角色,可以访问方法 开启注解功能 使用注解先要开启注解功能!可以在启动类上,也可以在配置类上添加 @EnableGlobalMethodSecurity(secure ...
- G - 跑跑卡丁车
跑跑卡丁车是时下一款流行的网络休闲游戏,你可以在这虚拟的世界里体验驾驶的乐趣.这款游戏的特别之处是你可以通过漂移来获得一种加速卡,用这种加速卡可以在有限的时间里提高你的速度.为了使问题简单化,我们假设 ...
- 行业动态 | 腾讯合作商Babylon使用Cassandra保护患者数据并提高医疗效果
医疗世界正在快速朝向个性化和低成本的方向发展,Babylon Health看到了这样的机会--通过开创性的云端应用来大幅扩张和改进他们所提供的服务. 通过使用基于Apache Cassandra的 ...
- 9.PowerShell DSC之Pull
前言 一般生产环境都使用Pull模式 配置Pull Server 配置Pull Server需要安装两个WindowsFeture:IIS.windows DSC,这两都可以通过UI界面化引导安装,也 ...