不同于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 的五种数据类型的更多相关文章

  1. Redis: Redis支持五种数据类型

    ylbtech-Redis: Redis支持五种数据类型 Redis支持五种数据类型:string(字符串) ,hash(哈希),list(列表),set(集合)及zset(sorted set:有序 ...

  2. Redis的五种数据类型的简单介绍和使用

    1.准备工作: 1.1在Linux下安装Redis  https://www.cnblogs.com/dddyyy/p/9763098.html 1.2启动Redis 先把root/redis的red ...

  3. redis的五种数据类型及应用场景

    前言 redis是用键值对的形式来保存数据,键类型只能是String,但是值类型可以有String.List.Hash.Set.Sorted Set五种,来满足不同场景的特定需求. 本博客中的示例不是 ...

  4. [Redis]Redis的五种数据类型与键值/服务器相关命令

    -------------------------------------------------------------------------------------- String(字符串):最 ...

  5. StackExchange.Redis学习笔记(二) Redis查询 五种数据类型的应用

    ConnectionMultiplexer ConnectionMultiplexer 是StackExchange.Redis的核心对象,用这个类的实例来进行Redis的一系列操作,对于一个整个应用 ...

  6. Redis的五种数据类型及方法

    字符串string: 字符串类型是Redis中最为基础的数据存储类型,是一个由字节组成的序列,他在Redis中是二进制安全的,这便意味着该类型可以接受任何格式的数据,如JPEG图像数据货Json对象描 ...

  7. Redis的五种数据类型

    官方的几篇很好的文章: https://redis.io/topics/data-types https://redis.io/topics/data-types-intro https://redi ...

  8. Redis:五种数据类型的简单增删改查

    Redis简单增删改查例子 例一:字符串的增删改查 #增加一个key为ay_key的值 127.0.0.1:6379> set ay_key "ay" OK #查询ay_ke ...

  9. Redis探索之路(四):Redis的五种数据类型Set和ZSet

    一:Set无需集合 Set是个集合,string类型的无需集合,通过hash table实现,添加删除查找复杂度都是0(1).对集合我们可以取并集,交集和差集.通过这些操作我们可以实现sns中的好友推 ...

随机推荐

  1. Java Web工作原理

    解析HTTP协议 HTTP:超文本传输协议(HyperText Transfer Protocol) HTTP是一种无状态的协议,意思是指在Web浏览器和Web服务器之间不需要建立持久的连接. HTT ...

  2. js基础(使用Canvas画图)

    HTML5的元素提供了一组JavaScript API,让我们可以动态地创建图形和图像. 图形是在一个特定的上下文中创建的,而上下文对象目前有两种.第一种是2D上下文,可以执行原始的绘图操作, 比如: ...

  3. Java泛型中的通配符T,E,K,V

    Java泛型中的通配符T,E,K,V 1.泛型的好处 2.泛型中的通配符 2.1 T,E,K,V,? 2.2 ?无界通配符 2.3 上界通配符 < ? extends E> 2.4 下界通 ...

  4. python2.7.5 +eric4.4.2+PyQt4-4.10.3

    1.安装python  双击运行就可以了 当安装好了Pyhon,记得要配置环境变量,把C:\Python27添加到PATH中 2.安装pyqt默认安装就可以 3.把eric4.4.2拷贝到C:\目录下 ...

  5. 黑客练手入门| pwnable.kr—幼儿瓶—01:fd

    目录 前言 pwnable.kr介绍 该怎么玩 幼儿瓶第一道题:fd 0x00 问题描述 0x01 源码分析 0x02 解题方法 0x03 知识点总结 前言 担心有人不知道pwnable.kr是什么, ...

  6. Kibana,Logstash 和 Cerebro 的安装运行

    公号:码农充电站pro 主页:https://codeshellme.github.io 1,安装 Kibana Kibana 用于数据可视化,我们可以进入到 Kibana 下载页面下载 Kibana ...

  7. java——API

    API定义: 可以网上下载一个jdk_api文档用来查找一些函数. 匿名对象的创建  匿名对象做为返回值和参数实例: Random的使用:

  8. Codeforces Round #575 (Div. 3) F. K-th Path

    传送门 题意: 这道题把我看得懵懵的(不敢相信),其实就是给你n个点和m条边(无向图),你要找出来任意两点之间的的最短距离,然后再从其中找出来第k个最小值 题解: 正常思维就是floyd多源最短路算法 ...

  9. ssh配置方面小实验②

    4.禁止使用密码登录当我们学会了使用密钥对进行验证后,建议生产环境下将账户密码登录功能关掉配置文件:/etc/ssh/sshd_config选项: PasswordAuthentication no ...

  10. 弹性伸缩 AS(Auto Scaling)

    根据业务需求和策略设置伸缩规则,在业务需求增长时自动为您增加 ECS 实例以保证计算能力,在业务需求下降时自动减少 ECS 实例以节约成本,弹性伸缩不仅适合业务量不断波动的应用程序,同时也适合业务量稳 ...