插入数据
set key value [EX seconds|PX milliseconds|EXAT timestamp|PXAT milliseconds-timestamp] [NX|XX]
EX:多少秒后过期消失
PX:多少毫秒后过期消失
EXAT:指定时间戳过期
PXAT指定毫秒时间戳过期
NX:不存在 再执行
XX:存在 再执行
注意: set插入数据 如果k存在会覆盖
TTL生存时间
查询生存时间
TTL key
注意:
-1表示没有设置生存时间
-2设置生存时间,但是已经消亡了
删除生存时间
PERSIST key
设置多少秒或者毫秒后过期
EXPIRE key seconds PEXPIRE key milliseconds
设置多少秒或者毫秒后过期
EXPIRE key seconds PEXPIRE key milliseconds
查询
keys pattern
keys * # *匹配所有 keys k? # ?匹配以为所有 k?----以k开头的总体两位,k??---以k开头的总体三位 keys k[ab]y #[] 匹配集合中某一位 keys k[ab]y------kay kbyk的操作
查询k的类型
type key判断是否存在
EXISTS key 存在为1,不存在为0k的重命名
RENAME key newkey-----RENAME test testnew(把test跟名为testname) RENAMENX key newkey键删除
DEL key [key ...]#####del key与key之间以空格分隔删除多个 注意:返回值是指的受影响的行数 获取值 GET key
注:没有值为null不会报错
获取多个给定的键的值 MGET key [key ...] 返回旧值并设置新值 GETSET key value
如果键不存在,就创建并赋值
字符串的操作
字符串长度 STRLEN key 字符串长度 STRLEN key
追加字符串 APPEND key value 如果键存在就追加;如果不存在就等同于SET key value 获取子字符串 GETRANGE key start end 索引值从0开始,负数表示从字符串右边向左数起,-1表示最有一个字符 覆盖字符串 SETRANGE key offset value
set k 123456789
setrange k 7 aaaa--------1234567aaaa(7对应原来数字8发生覆盖)
eg,set k 123456789
getrange k 2 4-----345 getrange k -5 -2-----5678(从右往左依次为-1,-2...)
步长
INCR key 自增一 DECR key 自减一
字符串值会被解释成64位右符号的十进制整数来操作,结果依然转成字符串
INCRBY key increment DECRBY key increment
注意:只能是数字类型的String才能使用
位图BitMap
不是真正的数据类型 是隐藏再String的一个二进制的存储方式
一个字符串类型的值最多能存储512M字节的内容 位上限:2^(9+10+10+3)=2^32b
每个位图的位置默认存储的为0,存储数据是按照数据二j进制的方式 依次顺推
set a a;0110 0001 位图:0110 0001 0000....00000 设置某一位上的值 SETBIT key offset value offset偏移量,从0开始 value不写,默认是0 获取某一位上的值 GETBIT key offset 返回指定值0或者1在指定区间上第一次出现的位置 BITPOS key bit [start] [end] 位操作
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
a:97:0110 0001 b:98:0110 0010 and :0110 0000 不同为0 or :0110 0011 不同为1 xor :0000 0011 相同为0不同为1 反转a:1001 1110 0变为1,1变为0 bitop not afan a统计指定位区间上值为1的个数 BITCOUNT key [start] [end] 从左向右从0开始,从右向左从-1开始,注意官方start、end是位,测试后是字节 BITCOUNT testkey 0 0表示从索引为0个字节到索引为0个字节,就是第一个字节的统计 BITCOUNT testkey 0 -1等同于BITCOUNT testkey 最常用的就是 BITCOUNT testkey
注意:
八位字节是一个区间
k:aaaaaaaa=
0110 0001 0110 0001
0110 0001 0110 0001
0110 0001 0110 0001
0110 0001 0110 0001
bitcount k 0 1--6 (8个字节一个区间0-1是两个区间(16位中)找1的个数)
bitcount k 0 2--9
bitcount k 0 3--12
bitcount k 0 4--15
bitcount k 0 5--18
bitcount k 0 6--21
bitcount k 0 7--24
bitcount k 0 8--24...
库的操作
redis默认16个库
切换数据库
select index
清除当前库数据 FLUSHDB 清除所有库中的数据 FLUSHALL
Redis第一天
最新推荐文章于 2023-06-16 19:45:00 发布
本文介绍了Redis中插入数据的方法,包括使用`set`命令及不同过期时间设置,还涉及查询生存时间`TTL`、删除生存时间`PERSIST`、设置过期时间`EXPIRE`等操作。此外,讨论了字符串操作如`STRLEN`、`APPEND`、`GETRANGE`、`SETRANGE`以及位图操作和统计。最后提到了Redis的数据库切换和清除数据的功能。
摘要由CSDN通过智能技术生成