redis基本命令

Redis的5种数据类型

redis是一种高级的key-value的存储系统,键是string类型,其中value支持五种数据类型,对于键和值的描述如下所示:

键(key):

【1】key值不能重复
【2】作用:标识存储的数据
【3】数据类型:string

值(value):支持5种数据类型

值的数据类型值的格式说明
string字符串类型,类似于Java中String
hash由键值对组成,类似于Java中Map
list列表类型,类似于Java中List,元素是有序,可以重复。
set集合类型,类似于Java中Set,元素是无序,不可重复
sorted set/zset有序的集合类型,每个元素有一个分数用来决定它的顺序。

string类型

字符串类型是Redis中最为基础的数据存储类型,它在Redis中以二进制保存。无论存入的是字符串、整数、浮点类型都会以字符串写入。

在Redis中字符串类型的值最多可以容纳的数据长度是512M,这是以后最常用的数据类型。

string 类型数据的基本操作

命令功能
set 键 值添加或修改一个键和值,键不存在就是添加,存在就是修改
get 键获取值,如果存在就返回值,不存在返回nil(就是C语言中NULL)
del 键删除指定的键和值,返回删除的个数
mset key1 value1 [key2 value2 …]同时设置多个key的值
mget key1 [key2 …]同时获取多个key的值
strlen key获取字符串长度
append key value如果原始信息存在就追加,否则新建
incr key递增数字,仅仅对数字类型的键有用,相当于Java的i++运算
incrby key incrementkey自增increment指定整数,increment可为负数,表示减少。
incrbyfloat key increment增加指定浮点数,仅仅对数字类型的键有用
decr key递减数字,仅仅对数字类型的键有用,相当于Java的i–-
decrby key incrementkey自减decrement,decrement可以为正数,表示增加。

hash

Redis中的Hash类型可以看成是键和值都是String类型的Map容器,每一个Hash可以存储4G个键值对。

hash 类型数据的基本操作

命令功能
hset 键 字段 值添加键,字段,值
hget 键 字段通过键,字段得到值
hmset 键 字段 值 字段 值multiply多个,一次添加多个字段和值
hmget 键 字段 字段通过键,获取多个字段和值
hdel 键 字段 字段删除一个或多个字段的值
hgetall 键得到这个键下所有的字段和值
hlen key获取哈希表中字段数量
hexists key field判断字段是否存在
hkeys key获取所有字段名
hvals key获取所有字段值
hincrby key field increment设置指定字段的数值数据增加指定的整数值
hincrbyfloat key field increment设置指定字段的数值数据增加指定的浮点数值
hsetnx key field value当字段不存在时赋值

list

List类型是按照插入顺序排序的字符串链表。和数据结构中的普通链表一样,我们可以在其左部(left)和右部(right)添加新的元素。在插入时,如果该键并不存在,Redis将为该键创建一个新的链表。与此相反,如果链表中所有的元素均被移除,那么该键也将会被从数据库中删除。List中可以包含的最大元素数量是4G个。

list 类型数据基本操作

命令行为
lpush 键 元素 元素…left 从左边向指定的键中添加1个或多个元素,返回列表中元素的个数
rpush 键 元素 元素…right 从右边向指定的键中添加1个或多个元素
lpop 键从左边删除一个元素,返回被删除的元素
rpop 键从右边删除一个元素,返回被删除的元素
lrange 键 开始 结束得到键中指定范围的元素的数据
每个元素都有一个索引号,从左向右0~n
从右向左索引号:-1~-(n+1),每个元素有2个索引号
如果要取出整个列表中所有的元素,索引号应该是:0~-1
lindex 键 索引值查询指定索引的元素
llen 键获取列表的长度
ltrim key start end截取名称为key的list
lset key index value给名称为key的list中index位置的元素赋值
lrem key count value删除count个名称为key的list中值为value的元素
rpoplpush srckey dstkey返回并删除名称为srckey的list的尾元素,并将该元素添加到名称为dstkey的list的头部
blpop key1 [key2] timeout规定时间从左边内获取并移除数据
brpop key1 [key2] timeout规定时间从右边内获取并移除数据
brpoplpush source destination timeout规定时间从返回并删除名称为source的list的尾元素,并将该元素添加到名称为destination 的list的头部

set

Set类型看作为没有排序的字符集合,和List类型一样,我们也可以在该类型的数据值上执行添加、删除或判断某一元素是否存在等操作。Set可包含的最大元素数量是4G,和List类型不同的是,Set集合中不允许出现重复的元素。

set 类型数据的基本操作

命令行为
sadd 键 元素 元素…向一个键中添加1个或多个元素
smembers 键得到这个集合中所有的元素
sismember 键 元素判断指定的元素在集合中是否存在,存在返回1,不存在返回0
scard 键获取集合数据总量
srem 键 元素 元素…通过键删除一个或多个元素
spop key随机返回并删除名称为key的set中一个元素
srandmember key随机返回名称为key的set的一个元素
sinter key1 key2 …key求交集
sunion key1 keys求并集
sdiff key1 keys求差集
sinterstore dstkey keys求交集并将交集保存到dstkey的集合
sunionstore dstkey keys求并集并将并集保存到dstkey的集合
sdiffstore dstkey keys求差集并将差集保存到dstkey的集合
smove srckey dstkey member将指定数据从原始集合移动到目标集合中

sorted_set(zset)

Redis 有序集合和set集合一样也是无序不可以重复。不同的是每个元素都会关联一个分数(排序因子)。

redis正是通过分数来为集合中的成员进行从小到大的排序。

有序集合的成员是唯一的,但分数(score)却可以重复,每个集合可存储40多亿个成员。

sorted_set 类型数据的基本操作

命令行为
zadd key score1 value1 [score2 value2]添加1个或多个元素,每个元素都有一个分数
zrange key start stop获取指定范围的元素,得到所有的元素,索引是0到-1
zrange key start stop [WITHSCORE]查询指定的元素和对应的分数
zrevrange key start stop withscores按照分数倒叙获取指定的元素和对应的分数
zremkey value1 [value2 …]删除一个或多个值
zcount key min max获取指定分数范围内的元素个数
zcard key得到元素个数
zrank key value获取正序排序的元素的排名
zrevrank key value获取逆序排序的元素的排名
zscore key value得到元素的分数
zincrby key increment member增加某个元素的分数
zrangebysroce key min max获取指定分数范围内的元素
zrevrangebysroce key min max倒序排序获取排名在某个范围的元素
zremrangebyrank key start stop按照排名范围删除元素
zremrangebysroce key min max按照分数范围删除元素,min和max的用法和4中的一样

Redis 通用指令

命令功能
exists key确认一个key是否存在
type key返回值的类型
keys pattern返回满足给定pattern的所有key,pattern的查询规则见下图
random key随机返回key空间的一个
key rename oldname newname重命名key
setex key seconds value为不存在的key赋值并设置一个过期时间,单位(秒)
psetex key millisseconds value为不存在的key赋值并设置一个过期时间,单位(毫秒)
expire key seconds为已存在的key设置一个过期时间,单位(秒)
pexpire key millisseconds为已存在的key设置一个过期时间,单位(毫秒)
expireat key timestamp为已存在的key以时间戳的方式设置过期时间,单位(秒)
pexpire key millisseconds-timestamp为已有的key以时间戳的方式设置过期时间,单位(毫秒)
ttl key获取key的有效时间(秒)
pttl key获取key的有效时间(毫秒)
db size返回当前数据库中key的数目
select index选择第0~15中的库
move key dbindex移动当前数据库中的key到dbindex数据库
sort为所有的key排序
flushdb清除当前数据库的所有keys
flushall清除所有数据库的所有keys

key pattern的匹配规则
在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值