对于中文来说,可以使用 redis-cli --raw
二进制安全、最大1G、可以包含任何数据,都是以二进制的方式进行存储的
1. set : 设定key和value的值
2. get : 获取指定key的相应的value的值
3. setnx : 指定的 key 不存在时,为 key 设置指定的值,如果已经存在,则不执行操作
4. mset : 批量设定key和value
5. msetnx : 批量设定key和value,党指定的key不存在时为key设置指定的值,否则不进行任何操作。
6. getset : 修改某个key的value值,并返回其 旧值
7. mget : 获取一个或多个key的值
8. setex : 为指定的 key 设置值及其过期时间。如果 key 已经存在, 将会替换旧的值,单位为秒
9. psetex : 作用同上一条命令,只是单位不同,为毫秒
10. strlen : 获取字符串值的长度。 当 key 不存在时,返回 0
11. setrange : 用指定的字符串覆盖给定 key 所储存的字符串值,覆盖的位置从偏移量 offset 开始,并返回修改后的字符串长度
12. getrange : 返回key的字符串值的子字符串,左闭右闭 [start,end] 按照字节来进行
13. incr /incrby/incrbyfloat
incr 对不存在的key是可以操作的,首先创建一个0值,然后自增
incrby对不存在的key是无法操作的,会报错误
incrbyfloat 会将无用的后缀零忽略掉,会将浮点变为整数。
14. decr/decrby : 将 key 中储存的数字值减一,如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 decr 操作。
15. append : 在原有字符串后进行追加操作
16. setbit : 用于对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)
其中的offset 是从左到右进行自增,也就是从高位到低位进行计数,并自增offset
17. getbit : 获取指定key的值的偏移量上的某位的值
- # 1. set
- 127.0.0.1:6379> set name beijingtiananmen
- OK
- # 2. get
- 127.0.0.1:6379> get name
- "beijingtiananmen"
- # 3. setnx : 如果key不存在,则新建一个key/value,如果key存在,则不执行命令
- 127.0.0.1:6379> setnx name gugongbowuyuan
- (integer) 0
- 127.0.0.1:6379> get name
- "beijingtiananmen"
- 127.0.0.1:6379>
-
- # 4. mset 多个key/value一起设置
- 127.0.0.1:6379> mset scenic1 beijingtiananmen scenic2 gugongbowuyuan scenic3 jingshangongyuan
- OK
-
- # 5. msetnx : 和上面第3个命令相似,区别在于msetnx是一个批量操作
- 127.0.0.1:6379> msetnx scenic1 changcheng scenic2 yiheyuan scenic3 yuanmingyuan
- (integer) 0
- # 都存在scenic1/scenic2/scenic3,所以不执行命令,还是原来的值
- 127.0.0.1:6379> mget scenic1 scenic2 scenic3
- 1) "beijingtiananmen"
- 2) "gugongbowuyuan"
- 3) "jingshangongyuan"
-
- # 6. getset : 修改某个key的值,但设置后返回的是原来的旧值
- 127.0.0.1:6379> getset scenic1 beijingrenmindahuitang
- "beijingtiananmen"
- 127.0.0.1:6379> get scenic1
- "beijingrenmindahuitang"
- # 假设 scenicXXX是一个不存在的key,则会创建一个新的key和value
- 127.0.0.1:6379> getset scenicXXX guojiabowuyuan
- (nil)
- 127.0.0.1:6379> get scenicXXX
- "guojiabowuyuan"
-
- 7. mget : 批量过去一些key的value,这个命令在第5条命令中有使用
- 127.0.0.1:6379> mget scenic1 scenic2 scenic3
- 1) "beijingtiananmen"
- 2) "gugongbowuyuan"
- 3) "jingshangongyuan"
-
- 8. setex : 设定一个key的有效期,单位为秒,注意格式 > setex key seconds value
- 127.0.0.1:6379> setex age 60 96
- OK
- 127.0.0.1:6379> ttl age
- (integer) 52
- 127.0.0.1:6379> ttl age
- (integer) 49
- ttl用于查看剩余多少秒
-
- 9. psetex : 设定一个key的有效期,单位为毫秒,注意格式 > setex key milliseconds value
- 127.0.0.1:6379> psetex age 60000 96
- OK
- 127.0.0.1:6379> ttl age
- (integer) 52
- 127.0.0.1:6379> ttl age
- (integer) 49
- ttl用于查看剩余多少秒
-
- 10. strlen : 查看一个key的value的长度
- 127.0.0.1:6379> get scenic1
- "beijingrenmindahuitang"
- 127.0.0.1:6379> strlen scenic1
- (integer) 22
-
- 11. setrange : 将字符串的某个位置开始进行替换,格式为: setrange key offset value
- 127.0.0.1:6379> setrange scenic1 7 guojiadajuyuan
- (integer) 22
- 127.0.0.1:6379> get scenic1
- "beijingguojiadajuyuang"
-
- 12. getrange : 截取某个字符串的值,功能类似substring,格式为: getrange key start end
- 127.0.0.1:6379> getrange scenic1 7 -1
- "guojiadajuyuang"
-
- 13. incr/incrby/incrfloat
- 127.0.0.1:6379> set age 33
- OK
- 127.0.0.1:6379> incr age
- (integer) 34
- 127.0.0.1:6379> incrby age 10
- (integer) 44
- 127.0.0.1:6379> incrbyfloat age 10.0
- "54"
-
- 14. decr/decrby
- 127.0.0.1:6379> decr age
- (integer) 53
- 127.0.0.1:6379> decrby age 10
- (integer) 43
-
- 15. append 将新串追加到原有字符串后
- 127.0.0.1:6379> append age 20
- (integer) 4
- 127.0.0.1:6379> get age
- "4320"
-
- 16. setbit 格式为: setbit key offset value
- # 从左往右,从高位至低位进行计数
- # 这里的a的ascii码为 0110 0001
- # 这里的b的ascii码为 0110 0010
- # 这里的c的ascii码为 0110 0011
- 127.0.0.1:6379> set num a
- OK
- 127.0.0.1:6379> setbit num 6 1
- (integer) 0
- 127.0.0.1:6379> get num
- "c"
- 127.0.0.1:6379> setbit num 7 0
- (integer) 1
- 127.0.0.1:6379> get num
- "b"
-
- 17. getbit 格式为: getbit key offset
- 127.0.0.1:6379> getbit num 1