Redis学习笔记(2)-Redis数据类型

Fork me on Gitee

HDIS-Framework

fork star

HDIS-Framework是一个基于SpringBoot、Kubernetes、阿里云服务,编写的一个用于支撑微服务的极速开发框架。

其文档详尽,Demo全面,设计合理,开箱即用,节省开发时间,提升开发效率。

配套的docker、Kubernetes教程已踩过各种坑,让你的微服务无障碍的顺畅运行起来。

HDIS与Kubernetes或SpringCloud配合使用,能达到最佳效果。

注意

不同的平台有不同的客户端,如java的Jredis,PHP的Predis和官方的客户端redis-cli。
本例子使用的命令都是运行在redis-cli客户端下的命令。
Redis不支持类型嵌套,比如散列类型的值不能是集合类型,等。
所有类型的值只能是字符串。

基础命令

KEYS key

获得键列表

key支持通配符:
? 匹配一个字符

  • 匹配任意字符
    [] 匹配括号间的字符
    ? 转义字符

EXISTS key

判断键是否存在,存在返回1,不存在返回0。

DEL key

删除键,成功返回1,不成功返回0,可以多个键,用空格间隔。

TYPE key

获得键值的数据类型
Redis的数据类型是明确的,不同数据类型之间不能混用。
比如,散列类型的值不能是列表类型。

字符串类型

字符串类型是最基础的类型,其他的类型其实都是不同格式的字符串类型。

SET key value

向缓存中注入一个键值对,成功返回OK。

GET key

从缓存中通过键得到一个字符串,不存在时返回空(nil)。

INCR key

某个键自增长,当初始化值不是整数时,会返回错误。

散列类型

散列类型适合储存类似于对象的这种数据
散列的组成为
键-字段-字段值
可以对应为对象的
对象-属性-属性值

HSET key filed value

设置某个散列(key)与散列中某个属性(filed)字段与其字段的值(value)。

散列的新增和更新是自动判断的

HGET key filed

获取某个散列下某个属性的值。

HMSET key filed value filed value filed value…

设置某个散列下多个属性字段与字段值。

HMGET key filed filed filed…

获取某个散列下多个属性的值。

HGETALL key

获取某个散列所有的属性与属性值。

HEXISTS key filed

判断某个散列下某个属性是否存在,是1,否0。

HSETNX key filed value

如果某个散列的属性与属性值,不存在就赋值,存在就无操作。

HINCRBY key filed value

某个散列的某个属性的属性值自增长,当初始化值不是整数时,会返回错误。

HDEL key filed

删除某个散列表中的某个属性。

列表类型

列表类型内部使用的是双向链表实现的,可以储存一个有序的字符串列表。
借助列表,Redis还可以当做队列使用,一定程度上能解决消息队列的问题。

LPUSH key value value…

某列表(key)左端增加一个或多个元素,返回值表示增加元素后列表的长度。

RPUSH key value value…

某列表右端增加一个或多个元素,返回值表示增加元素后列表的长度。

LPOP key

某列表左边弹出一个元素,返回元素值

RPOP key

某列表右边弹出一个元素,返回元素值

LLEN key

获取列表长度

LRANGE key start stop

获取key中列表的片段
从start开始,stop结束
最左边以0为开始值,返回值包含stop元素
此命令不会删除该片段
负数索引表示从右向左,正数索引表示从左往右

LREM key count value

删除key列表中count个值为value的元素,返回删除的个数。
count大于0表示从左往右
count小于0表示从右往左
count等于0表示删除所有值为value的数

集合类型

可以将集合类型当做一个set

SADD key value value…

向集合(key)中新增一个或多个元素,如果重复,则忽略,返回成功加入元素的个数。

SREM key value value…

删除集合中一个或多个元素,返回成功删除的个数

SMEMBERS key

返回集合中所有元素

SISMEMBER key value

判断value是否在集合中,存在返回1,不存在返回0。

SDIFF key1 key2 key3…

执行差集运算,key1-key2-key3,即属于key1但不属于key2和key3的值。
返回结果为具体的值,而不是集合。

SINTER key1 key2 key3…

执行交集运算,所有属于key1并属于key2并属于key3的值。
返回结果为具体的值,而不是集合。

SUNION key1 key2 key3…

执行并集运算,key1+key2+key3,然后取得的值去重复。
返回结果为具体的值,而不是集合。

有序集合类型

有序集合能比较容易的调整元素的位置,不像列表。

ZADD key score value score value score value…

向某个有序集合(key)中增加元素(value)与元素对对应的分数(score),返回值是成功新增的个数。
score 分数,可以是整数也可以是双精度浮点数。
value 值,值若重复,会用现在的分数替换原来的分数。

ZSCORE key value

获得元素的分数,返回值为分数。

ZRANGE key start stop [WITHSCORE]
ZREVRANGE key start stop [WITHSCORE]

按照score的排序获得第start个到stop个的value。
start可以从0开始,获得的数据包含stop。
WITHSCORE表示是否也返回分数
ZRANGE为score的从小到大排序
ZREVRANGE为score的从大到小排序

ZRANGEBYSCORE key min max [WITHSCORE]

获得指定分数范围的元素,返回值为value,排序方式为分数从小到大。
min可以用-inf表示负无穷,max可以用+inf表示正无穷。
WITHSCORE表示是否也返回分数。

ZINCRBY key score value

给value元素增加score分,返回值为增加后的分数。
负分可以表示减分。
如果指定的元素不存在,先赋值0,再做增加。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值