Redis学习(二):Redis的API学习和命令学习

一:通用命令

(1)keys:遍历所有key

实例:

mset hello world hehe haha php good phe his

keys he*:通配he开通key

keys je[h-l]*:通配第三个字母是从h至l的范围内

keys ph?:通配ph开头,三位数长度结果

tips:生成环境一般不使用,数量较多,On级别命令,单线程堵塞,无意义取出keys值

怎么用:

热备从节点,scan命令

(2)dbsize:计算key的总数

(3)exists:检查key是否存在,存在返回“1”,不存在返回“0”,O1级别

(4)del key:删除指定的key-value,可删除多个

(5)expire,ttl,persist:

expire key seconds:key在second秒后过期

ttl key:查询key的剩余过期时间,“-2”(代表key已经不存在)

persist key:去掉key的过期时间

(6)type

type key:返回key的类型(string,hash,list,set,zset,none)

二:时间复杂度

命令        时间复杂度

keys        O(n)

dbsize     O(1)

del            O(1)

exists        O(1)

expire       O(1)

type         O(1)

三:数据结构和内部编码

四:单线程

串行执行Redis命令,在一个瞬间只会执行一个命令

1.redis单线程速度快的原因

(1)纯内存

(2)非阻塞IO

(3)避免线程切换和竞态切换

2.注意

(1)一次只运行一条命令

(2)拒绝长(慢)命令 keys,flushall,flushdb..

(3)其实不是单线程 fysnc/close file descriptor 会有单独线程处理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值