“Redis基础数据结构”的版本间的差异
跳到导航
跳到搜索
Jihongchang(讨论 | 贡献) |
Jihongchang(讨论 | 贡献) |
||
第53行: | 第53行: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | ==== 计数 ==== | ||
+ | 如果 value 是一个整数,还可以对它进行自增操作。自增是有范围的,它的范围在 signed long 的最大值和最小值之间,超出了这个范围,Redis会报错<syntaxhighlight lang="powershell"> | ||
+ | 127.0.0.1:6379> set age 30 | ||
+ | OK | ||
+ | 127.0.0.1:6379> incr age | ||
+ | |||
+ | (integer) 31 | ||
+ | |||
+ | 127.0.0.1:6379> incrby age 5 | ||
+ | |||
+ | (integer) 36 | ||
+ | |||
+ | 127.0.0.1:6379> incrby age -5 | ||
+ | |||
+ | (integer) 31 | ||
+ | |||
+ | 127.0.0.1:6379> set codehole 9223372036854775807 | ||
+ | |||
+ | OK | ||
+ | |||
+ | 127.0.0.1:6379> incr codehole | ||
+ | |||
+ | (error) ERR increment or decrement would overflow | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ==== 存储 ==== | ||
+ | 字符创由多个字节组成,每个字节又由8个 bit 组成,如此便可以将一个字符串看成很多 bit 的组合,这便是 bitmap(位图)数据结构 | ||
2022年8月12日 (五) 11:22的版本
string(字符串)
键值对
F:\下载目录\Redis-x64-5.0.14.1>redis-cli
127.0.0.1:6379> set test_key test_value
OK
127.0.0.1:6379> get test_key
"test_value"
批量键值对
127.0.0.1:6379> set test_key1 test_value1
OK
127.0.0.1:6379> set test_key2 test_value2
OK
127.0.0.1:6379> mget test_key test_key1 test_key2
1) "test_value"
2) "test_value1"
3) "test_value2"
过期和 set 命令扩展
127.0.0.1:6379> set name codehole
OK
127.0.0.1:6379> get name
"codehole"
127.0.0.1:6379> expire name 5 # 5s 后过期
(integer) 1
... #等候 5s
127.0.0.1:6379> get name
(nil)
127.0.0.1:6379> setex name 5 codehole # 5s 后过期,等价于 set + expire
OK
127.0.0.1:6379> get name
"codehole"
... # 等候 5s
127.0.0.1:6379> get name
(nil)
127.0.0.1:6379> setnx name codehole # 如果 name 不存在就执行 set 创建
(integer) 1
127.0.0.1:6379> get name
"codehole"
127.0.0.1:6379> setnx name holycoder
(integer) 0 #因为 name 已经存在,所以 set 创建不成功
127.0.0.1:6379> get name
"codehole" # 没有改变
计数
如果 value 是一个整数,还可以对它进行自增操作。自增是有范围的,它的范围在 signed long 的最大值和最小值之间,超出了这个范围,Redis会报错
127.0.0.1:6379> set age 30
OK
127.0.0.1:6379> incr age
(integer) 31
127.0.0.1:6379> incrby age 5
(integer) 36
127.0.0.1:6379> incrby age -5
(integer) 31
127.0.0.1:6379> set codehole 9223372036854775807
OK
127.0.0.1:6379> incr codehole
(error) ERR increment or decrement would overflow
存储
字符创由多个字节组成,每个字节又由8个 bit 组成,如此便可以将一个字符串看成很多 bit 的组合,这便是 bitmap(位图)数据结构