redis数据类型
redis有物种基本数据类型
string 字符串
list 列表
set 集合 会去重
sort set (zset) 有序集合
hash 哈希
string不仅仅是字符串 还可以操作 整数 浮点型 bit
使用 help @string 可以看到string相关命令
APPEND 将value追加到值的末尾
set key1 abc
append key1 abc
get key1
"abcabc"
DECR
执行原子操作 -1
127.0.0.1:6379> set key 10
127.0.0.1:6379> get key
"10"
127.0.0.1:6379> decr key
(integer) 9
DECRBY
执行原子操作 -x
127.0.0.1:6379> set key 10
127.0.0.1:6379> get key
"10"
127.0.0.1:6379> decr key
(integer) 9
127.0.0.1:6379> DECRby key 6
(integer) 3
GET
返回key对应的value
127.0.0.1:6379> set name tom
OK
127.0.0.1:6379> get name
"tom"
127.0.0.1:6379>
GETRANGE
key start end 获取存储一个子字符串
127.0.0.1:6379> set str "hello world"
OK
127.0.0.1:6379> GETRANGE str 6 -1
"world"
GETSET
set一个key的同时 获取之前的值
127.0.0.1:6379> set name sean
OK
127.0.0.1:6379> GETSET name sean123
"sean"
INCR
执行院子操作+1
127.0.0.1:6379> set number 1
OK
127.0.0.1:6379> INCR number
(integer) 2
INCRBY
执行院子操作增加一个数
127.0.0.1:6379> set number 1
OK
127.0.0.1:6379> INCRBY number 5
(integer) 6
INCRBYFLOAT
浮点型原子增加
127.0.0.1:6379> set number 12.5
OK
127.0.0.1:6379> INCRBYFLOAT number 5.3
"17.8"
MGET
同时获取多个key的value
127.0.0.1:6379> set k1 1
OK
127.0.0.1:6379> set k2 2
OK
127.0.0.1:6379> MGET k1 k2 k3
1) "1"
2) "2"
3) (nil)
MSET
同时set多个key-value
127.0.0.1:6379> mset k1 3 k2 4 k3 5
OK
127.0.0.1:6379> mget k1 k2 k3
1) "3"
2) "4"
3) "5"
MSETNX
同时set多个值并返回value
1 如果所有的key被set
0 如果没有key被set(至少其中有一个key是存在的) 如果所有key都不存在 1
127.0.0.1:6379> MSETNX k1 333 k2 444 k6 555
(integer) 0
127.0.0.1:6379> MGET k1 k2 k6
1) "3"
2) "4"
3) (nil)
PSETEX
PSETEX key milliseconds value 给key设置一个超时时间 时间单位是毫秒
127.0.0.1:6379> PSETEX mykey 10000 "Hello"
OK
127.0.0.1:6379> PTTL mykey
(integer) 8101
SETEX
设置key并设置过期时间 单位秒
127.0.0.1:6379> SETEX timekey 200 123
OK
127.0.0.1:6379> ttl timekey
(integer) 193
SETNX
1 如果key被设置了 0 如果key没有被设置 当key不存在的时候成功
SETRANGE
修改已存在的key
redis> SET key1 "Hello World"
OK
redis> SETRANGE key1 6 "Redis"
(integer) 11
redis> GET key1
"Hello Redis"
STRALGO
STRLEN
查看key的长度
redis> SET mykey "Hello world"
OK
redis> STRLEN mykey
(integer) 11
PSETEX key milliseconds value
设置keu的过期时间 PSETEX和SETEX一样,唯一的区别是到期时间以毫秒为单位,而不是秒。
127.0.0.1:6379> PSETEX mykey 10000 "Hello"
OK
127.0.0.1:6379> PTTL mykey
(integer) 8345
127.0.0.1:6379> PTTL mykey
(integer) 7001
127.0.0.1:6379>
BITCOUNT
计算对应key中 数值为1 的个数
bitcount key
127.0.0.1:6379> setbit sean 20230113 1
(integer) 0
127.0.0.1:6379> setbit sean 20230114 1
(integer) 0
127.0.0.1:6379> setbit sean 20230115 1
(integer) 0
127.0.0.1:6379> setbit sean 20230116 0
(integer) 0
127.0.0.1:6379> setbit sean 20230117 1
(integer) 0
127.0.0.1:6379> BITCOUNT sean
(integer) 4
bits中有 1的个数为4
请转至 http://redis.cn/commands/bitcount.html 查看详细信息