Redis读书笔记(二)

Redis的API的使用和理解

1.通用命令
keys [pattern] (遍历所有的key,一般不在生产环境中使用 可用scan代替) dbsize (计算key的总数)
exists key (检查key是否存在 存在返回1 不存在返回0) del key(删除指定的key key可以设置多个)
expire key seconds (key 在seconds 秒后过期) persist key (去掉key的过期时间)
ttl key(查看key剩余的过期时间 返回值-1 代表key存在,且没有过期时间 -2代表key已经不存在了)
type key(返回key的类型 一般有一下6种 1.string 2.hash 3. list 4.set 5.zset 有序集合 6.none 不存在 )
2.数据结构和内部编码
redis的数据结构
redisObject

  1. 字符串(string)
    字符串键值结构
    使用场景: 缓存 计数器 分布式锁 等等
    命令: get set del 复杂度
    get key: 获取key对应的value o(1)
    set key value : 设置 key-value 不管key是否存在都设置 o(1)
    setnx key value: key不存在才设置 o(1)
    set key value xx:key 存在才设置(更新)o(1)
    del key: 删除key-value o(1)
    整型操作命令: incr decr incrby decrby
    incr key:key自增1 如果key不存在,自增后 get(key)=1 o(1)
    decr key:key自减1 如果key不存在,自减后 get(key)=-1 o(1)
    incrby key k: key自增k 如果key不存在,自增后 get(key)=k o(1)
    decrby key k: key自减k 如果key不存在,自减后 get(key)=-k o(1)
    批量操作:mget mset
    mget key1 key2 key3… :批量获取key,原子操作 o(n)
    mset key1 value1 key2 value2… :批量设置key-value o(n)
    getset append strlen
    getset key newvalue : 相当于 set key newvalue 并返回旧的value
    append key value : 将value 追加到旧的value
    strlen key : 返回字符串的长度(注意中文)

3.单线程
redis是单线程但为什么这么快?
1.纯内存 (主要原因) 2.非阻塞IO 3.避免线程切换和竞态消耗
单线程注意事项: 1.一次只运行一条命令。 2.拒绝长(慢)命令。 例:keys flushall show lua script 等等3.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值