一、基本操作
1、写入一个key:
set bar 1返回ok即代码成功
2、得到一个key的值:
get bar
3、获取所有的key:
keys *
获取所有的键
4、判断一个键是否存在:
exists bar
如果返回1即说明存在,返回0说明不存在
5、删除键:
del bar
返回值是删除的键的个数
6、获取键值的类型:
type bar
7、递增值:
如果一个键值为整数时,调用下面的命令可以让键值递增,注意Redis的所有命令都是原子操作,所以是多线程安全的:
incr bar
返回值是增加后的键值
8、增加指定的值:
此命令是一次性将键值增加指定的数目
incrby bar 3
返回值是增加后的键值
9、递减值:
decr bar
返回值是递减后的键值
10、减少指定的值:
decrby bar 3
返回值是减少后的键值
11、增加指定浮点数:
set f 1.1 (先写一个键值)
incrbyfloat f 2.2
返回值是增加后的键值
12、尾部追加值:
set s hello
append s ' world'
则现在s的值就为"hello world"
13、得到字符串的长度
strlen s
14、同时获得/设置多个键值
//下面为设置多个键值:
mset name zhangsan name2 lisi
//下面为获取多个键值:
mget name name2
二、位操作:
redis中的字符串是按照对应字符集的编码进行存储的,所以当我们设置一个字符串的时候,本质上是设置的字符串所对应字符集的数字。
set foo bar (设置foo值为bar)
1、得到指定位上的值:
getbit foo 0
得到foo所对应的值的第0位,注意是从左往右开始数的
因为是2进制,所以只返回0或者1
2、设置指定位上的值:
setbit foo 6 0
此为设置第6位二进制数为0
3、获取键值的二进制值为1的个数:
bitcount foo
4、限制统计的字节范围,比如只想统计前两个字节:
bitcount foo 0 1
5、进行位运算:
redis支持的运算操作有AND,OR,XOR,NOT,举个例子,5和3与操作之后为7,下面的例子即为与操作然后将值赋给res键
set a 5
set b 3
bitop or res a b
get res
"7"
6、获取指定键第一个位值为0或者1的位置,比如foo的第一个为1的位置为1
bitpos foo 1
7、查询第二个字节到第三个之间,即'a'和'r'出现的第一个值为1的偏移量:
bitpos foo 1 1 2
注意这里返回的结果是从头开始的