redis

本文详细介绍了 Redis 中字符串的设置、过期时间的设置与查看、键的生存时间和查找,以及列表的相关操作,包括插入、删除、获取指定位置元素等。此外,还涵盖了位操作、统计位计数、阻塞操作、哈希表和增量计算等内容,是 Redis 操作的全面指南。
摘要由CSDN通过智能技术生成


一、设置字符串值

设置字符串值
SET key value [EX seconds] [PX milliseconds] [NX|XX]
EX 设置过期时间,秒,等同于SETEX key seconds value
PX 设置过期时间,毫秒,等同于PSETEX key milliseconds value
NX 键不存在,才能设置,等同于SETNX key value
XX 键存在时,才能设置
设置多个键的字符串值
MSET key value [key value …]
键不存在时,设置字符串值
MSETNX key value [key value …]
注意:这是原子操作

一次添加一个数据
set s1 abc
set s2 12
set se abc ex 15
一次添加多个数据
mset s3 3 s4 4 s5 5
msetnx s5 A5 s6 6

二、过期

1.引入

过期
Redis中可以给Key设置一个生存时间(秒或毫秒),当达到这个时长后,这些键值将会被自动删除
设置多少秒或者毫秒后过期
EXPIRE key seconds
PEXPIRE key milliseconds
设置在指定Unix时间戳过期
EXPIREAT key timestamp
PEXPIREAT key milliseconds-timestamp
删除过期
PERSIST key

生存时间
Time To Live,Key的剩余生存时间
查看剩余生存时间
TTL key
PTTL key
key存在但没有设置TTL,返回-1
key存在,但还在生存期内,返回剩余的秒或者毫秒
key曾经存在,但已经消亡,返回-2(2.8版本之前返回-1)

2.命令

set se abc ex 15
ttl s6
expire s6 60
pttl s6
persist s6
pttl s6

EXPIREAT cache 1355292000
PEXPIREAT mykey 1555555555005

三、生存时间

1.引入

生存时间
Time To Live,Key的剩余生存时间
查看剩余生存时间
TTL key
PTTL key
key存在但没有设置TTL,返回-1
key存在,但还在生存期内,返回剩余的秒或者毫秒
key曾经存在,但已经消亡,返回-2(2.8版本之前返回-1)

2.命令

set se abc ex 15
ttl s6
expire s6 60
pttl s6
persist s6
pttl s6

EXPIREAT cache 1355292000
PEXPIREAT mykey 1555555555005

四、查找键

1.引入

查找键
KEYS pattern

pattern取值

  • 任意长度字符
    ? 任意一个字符
    [] 字符集合,表示可以是集合中的任意一个

2.命令

keys s*
keys s?
keys s[13]
keys *
keys ??

五、键的操作

1.引入

键类型
TYPE key
键是否存在
EXISTS key
键重命名
RENAME key newkey
RENAMENX key newkey
键删除
DEL key [key …]

获取值
GET key
获取多个给定的键的值
MGET key [key …]
返回旧值并设置新值
GETSET key value
如果键不存在,就创建并赋值
字符串长度
STRLEN key

追加字符串
APPEND key value
如果键存在就追加;如果不存在就等同于SET key value
获取子字符串
GETRANGE key start end
索引值从0开始,负数表示从字符串右边向左数起,-1表示最有一个字符
覆盖字符串
SETRANGE key offset value
SETRANGE s3 5 123456

步长1的增减
INCR key
DECR key
字符串值会被解释成64位有符号的十进制整数来操作,结果依然转成字符串
步长增减
INCRBY key decrement
DECR key decrement
字符串值会被解释成64位有符号的十进制整数来操作,结果依然转成字符串

2.命令

APPEND s6 123
getrange s1 1 2
getrange s1 0 -1
getrange s1 -2 -1
getrange s1 0 10000
SETRANGE s6 3 e
SETRANGE s6 3 efghijk
SETRANGE newkey 5 hello
SETRANGE s6 3 efghijk

六、位操作

1.引入

对一个或多个保存二进制位的字符串 key 进行位元操作,并将结果保存到 dteskey 上
operation 可以是 AND 、 OR 、 NOT 、 XOR 这四种操作中的任意一种
BITOP AND destkey key [key …] ,对一个或多个 key 求逻辑并,并将结果保存到 destkey
BITOP OR destkey key [key …] ,对一个或多个 key 求逻辑或,并将结果保存到 destkey
BITOP XOR destkey key [key …] ,对一个或多个 key 求逻辑异或,并将结果保存到 destkey
BITOP NOT destkey key ,对给定 key 求逻辑非,并将结果保存到 destkey
除了 NOT 操作之外,其他操作都可以接受一个或多个 key 作为输入
当 BITOP 处理不同长度的字符串时,较短的那个字符串所缺少的部分会被看作 0
空的 key 也被看作是包含 0 的字符串序列

2.命令

bitop and aandb a b
getbit andb 0

bitop or aorb a b
getbit aorb 6

bitop xor axorb a b
getbit axorb 2

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

七、统计指定位区间上值为1的个数

1.引入

BITCOUNT key [start] [end]
从左向右从0开始,从右向左从-1开始,注意官方start、end是位,测试后是字节
BITCOUNT testkey 0 0表示从索引为0个字节到索引为0个字节,就是第一个字节的统计
BITCOUNT testkey 0 -1等同于BITCOUNT testkey
最常用的就是 BITCOUNT testkey

2.命令

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

八、弹出元素 (可等于删除)

1.引入

左右或者头尾弹出元素
LPOP key
RPOP key
从一个列表尾部弹出元素压入到另一个列表的头部
RPOPLPUSH source destination
返回列表中指定范围元素
LRANGE key start stop
LRANGE key 0 -1 表示返回所有元素

2.命令

范例
执行 LPUSH 命令后,列表的长度。
实例

127.0.0.1:6379> LPUSH list1 “foo”
(integer) 1
127.0.0.1:6379> LPUSH list1 “bar”
(integer) 2
127.0.0.1:6379> LRANGE list1 0 -1

  1. “bar”
  2. “foo”
    在这里插入图片描述

九、获取指定位置的元素

1.引入

获取指定位置的元素
LINDEX key index
设置指定位置元素的值
LSET key index value
列表长度,元素个数
LLEN key

2.命令

在这里插入图片描述

十、从列表头部开始删除值等于value的元素count次

1.引入

![在这里插入图片描述] (https://img-blog.csdnimg.cn/c4019ea9453d44bab99b27a9e9b5ffaf.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAc2hpa2UxOTk4,size_12,color_FFFFFF,t_70,g_se,x_16在这里插入图片描述

2.命令

删除3个java
在这里插入图片描述

删除3个java在这里插入图片描述
负数从尾部开始删在这里插入图片描述

十一、去处指定范围外元素

1.引入

去处指定范围外元素
LTRIM key start stop
举例
RPUSH listkey c abc c ab 123 ab bj ab redis list
LTRIM listkey 0 -1
LTRIM listkey 1 -1
LTRIM listkey 1 10000
微博的评论最后500条
LTRIM u1234:forumid:comments 0 499

2.命令

在这里插入图片描述在这里插入图片描述ltrim L 1 2
LTRIM key start stop
start 开始区间
stop 结束区间
在这里插入图片描述

十二、插入元素

1.引入

在这里插入图片描述

2.命令

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

十三、阻塞

1.引入

阻塞
如果弹出的列表不存在或者为空,就会阻塞
超时时间设置为0,就是永久阻塞,直到有数据可以弹出
如果多个客户端阻塞在同一个列表上,使用First In First Service原则,先到先服务
左右或者头尾阻塞弹出元素
BLPOP key [key …] timeout
BRPOP key [key …] timeout
从一个列表尾部阻塞弹出元素压入到另一个列表的头部
BRPOPLPUSH source destination timeout

2.命令

在这里插入图片描述在这里插入图片描述

十四、Hash散列

1.引入

设置单个字段
HSET key field value
HSETNX key field value
key的filed不存在的情况下执行,key不存在直接创建
设置多个字段
HMSET key field value [field value …]
返回字段个数
HLEN key
判断字段是否存在
HEXISTS key field
key或者field不存在,返回0

2.命令

设置单个字段在这里插入图片描述设置多个字段
在这里插入图片描述返回字段
在这里插入图片描述返回多字段在这里插入图片描述
返回字段个数

在这里插入图片描述判断字段是否存在在这里插入图片描述

设置表内多数据
在这里插入图片描述数据 表名 “:”隔开

在这里插入图片描述

十五、返回字段

返回字段值
HGET key field
返回多个字段值
HMGET key field [field …]
返回所有的键值对
HGETALL key
返回所有字段名
HKEYS key
返回所有值
HVALS key

十六、增量计算

1.引入

在字段对应的值上进行整数的增量计算
HINCRBY key field increment
在字段对应的值上进行浮点数的增量计算
HINCRBYFLOAT key field increment
删除指定的字段
HDEL key field [field …]
举例
HINCRBY numbers x 100
HINCRBY numbers x -50
HINCRBYFLOAT numbers x 3.14
HDEL numbers x

2.命令

![在这里插入图片描述](https://img-blog.csdnimg.cn/99dd0b9dfe1f4f5989d2218304d69944.pn

set集合

增加元素

增加一个或多个元素
SADD key member [member …]
如果元素已经存在,则自动忽略
举例
SADD friends peter
SADD friends jack tom john
SADD friends may tom
在这里插入图片描述

在这里插入图片描述

移除一个或者多个元素

移除一个或者多个元素
SREM key member [member …]
元素不存在,自动忽略
举例
SREM friends peter
SREM friends tom john
在这里插入图片描述在这里插入图片描述

返回集合包含的所有元素

返回集合包含的所有元素
SMEMBERS key
如果集合元素过多,例如百万个,需要遍历,可能会造成服务器阻塞,生产环境应避免使用
检查给定元素是否存在于集合中
SISMEMBER key member

在这里插入图片描述在这里插入图片描述

集合的无序性

集合的无序性
SADD friends “peter” “jack” “tom” “john” “may” “ben”
SADD anotherfriends “peter” “jack” “tom” “john” “may” “ben”
SMEMBERS friends
SMEMBERS anotherfriends
注意, SMEMBERS 有可能返回不同的结果,所以,如果需要存储有序且不重复的数据使用有序集合,存储有序可重复的使用列表
在这里插入图片描述

随机返回集合中指定个数的

随机返回集合中指定个数的
SRANDMEMBER key [count]
如果 count 为正数,且小于集合基数,那么命令返回一个包含 count 个元素的数组,数组中的元素各不相同。如果 count 大于等于集合基数,那么返回整个集合
如果 count 为负数,那么命令返回一个数组,数组中的元素可能会重复出现多次,而数组的长度为 count 的绝对值
如果 count 为 0,返回空
如果 count 不指定,随机返回一个元素
举例
SADD friend “peter” “jack” “tom” “john” “may” “ben”
SRANDMEMBER friends 3
SRANDMEMBER friends -5
在这里插入图片描述

返回集合中元素的个数

返回集合中元素的个数
SCARD key
键的结果会保存信息,集合长度就记录在里面,所以不需要遍历
随机从集合中移除并返回这个被移除的元素
SPOP key
把元素从源集合移动到目标集合
SMOVE source destination member

Set的集合操作

差集

在这里插入图片描述
SADD number1 123 456 789
SADD number2 123 456 999
SDIFF number1 number2

在这里插入图片描述

交集

在这里插入图片描述
SADD number1 123 456 789
SADD number2 123 456 999
SINTER number1 number2

在这里插入图片描述

并集

在这里插入图片描述SADD number1 123 456 789
SADD number2 123 456 999
SUNION number1 number2
在这里插入图片描述

SortedSet有序集合

增加一个或多个元素

在这里插入图片描述

移除一个或者多个元素

在这里插入图片描述在这里插入图片描述

显示分值

在这里插入图片描述

增加或者减少分值

在这里插入图片描述

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值