redis基础

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 //根据分数



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值