set key value //设置key
get key //获取value
keys * //得到所有的key 它的时间复杂度为n,一般在生产环境下不使用
key h* //其实这里的key的用法已经和正则表达式一样
mset //一次设置多个值,形式为 k1 v1 k2 v2
dbsize //计算总共多少key
exists //判断一个key是否存在
del //删除一个key v
expire key seconds //给key设置一个过期的时间(单位为秒)
ttl key //查看key的过期时间
persist key //去掉过期时间
type key //返回key的类型
redis底层是单线程的,但是它快的原因是它会将所有的内容加载到内存,避免线程的切换。
字符串结构:
只是key为字符类型,value可以为字符串,int,二进制,一般用于缓存,分布式锁,计数器。
incr key //key自增1,如果不存在,那增加后直接为1
decr key //和上面的相反
incrby key k //key自增k
decrby key k //相反
setnx key value //key不存在的时候,才能设置
set key value xx //当key存在的时候,再设置value
mget //同时获取多个key (复杂度为n)
mset //同时设置多个key value(复杂度为n)
getset key //设置一个新的值,返回老的值
append key value // 追加一个value
strlen key //返回字符串的长度
incrbyfloat key 3.5 //给浮点数设置自增3.5
getrange key 0 3 //读出0到3的值
setrange key 0 m //修改第一个值为m
哈希结构:
redis有点像mapmap类型,就是它像是一个mao包含另外一个map类型。
它的基本结构为 key field value 也就是field不能相同,但是value可以相同。
hget //hash类型的取值 例子:hget user name
hset //hash类型的设置值 例子hset user name crushcoding
hdel //删除
hgetall //得到所有的属性 (复杂度为n)
hexists key filed //看key里面有没有filed
hlen key //计算总数
hmget key filed1 filed2 //一次获取多个值(时间复杂度为n)
hmset key f1 v1 f2 v2 //一次设置多个值
hincrby user name 33 //就是自增33
hvals key //返回对应所有field的value (复杂度为n)
hkeys key //返回key对应所有的field
hsetnx key field value (如果已经存在,则设置失败)
list 结构
rpush k v1 v2 v3 //从右边插入多个值
lpush //和上面相反
linsert key before|after 3 88 //在3的前面或者是后面插入88
lpop key //从左边弹出一个元素
rpor key //从右边弹出
lrem key count 5 //删除为5的元素,如果count为0,删除所有,如果小于0,则从右边删除count个值,大于0则相反
ltrim key 0 3 //保留0到3
lrange key s e //查询从s到e
lindex key x //取key位置的数
llen key //看总长度
lset key index v //修改index位置的v
set 结构
特点是它里面是无序的,无重复,集合间的操作。
sadd key element //添加
srem key element //删除
scard key //计算有多少个元素
sismember key 12 //判断有没有值为12
srandmember key x //随机取出 x 个数
spop key x //随机弹出x个数
smembers key //弹出所有的元素
sdiff k1 k2 //k1 k2 的差集,结果为k1有,k2没有
sinter k1 k2 //取交集
sunion k1 k2 //取合并后的解集
zset 结构
无重复元素,有序
zadd key score element //插入,score可以重复,element不能重复(可以一次插入多个)
zrem key element. //删除元素
zscore key element //返回分数
zincrby key 10 element //给element增加10分
zcard key //返回元素的总个数
zrank key element //查看这个元素的排名(大的在后面)
zrange key s e //从s开始,到e结束(从小到大)
zrangebyscore key min max //查找分数从min到max的元素
zcount key min max //查看分数min到max的元素的个数
zremrangebyrank key s e //删除从s到e(这里根据的是排名)
zremrangebyscore key min max //根据分数