“Redis基础数据结构”的版本间的差异
		
		
		
		
		
		跳到导航
		跳到搜索
		
				
		
		
	
Jihongchang(讨论 | 贡献)  | 
				Jihongchang(讨论 | 贡献)   (→存储)  | 
				||
| 第81行: | 第81行: | ||
==== 存储 ====  | ==== 存储 ====  | ||
| − | + | 字符串由多个字节组成,每个字节又由8个 bit 组成,如此便可以将一个字符串看成很多 bit 的组合,这便是 bitmap(位图)数据结构  | |
2022年9月17日 (六) 16:20的最新版本
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(位图)数据结构