提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
一、设置字符串值
设置字符串值 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.命令
九、获取指定位置的元素
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
负数从尾部开始删
十一、去处指定范围外元素
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.命令
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提供了大量能使我们快速便捷地处理数据的函数和方法。
|