Redis原理笔记

redis原理笔记

redis key 命令

command use
keys * 查看当前库中key数
del key 立即删除key
unlink key 立即提示删除key,实际上是异步进行
set key value 设置键值对
type key 查看key类型
exists key key是否存在
expire key 10 设置key过期时间,单位为秒
ttl key 查看key是否过期,-1永不过期,-2已经过期

操作库命令

command use
select * *为[0~15],redis总共有16个库
dbsize 查看当前key数
flushdb 删除当前db
flushall 清除所有库

value 类型

字符串String

  • 最大512M,为2进制安全性,甚至可以保存图片或者序列化对象
  • 由于redis是单线程加上多路IO复用,所以在进行操作时是不会被打断的(不同于mameache是多线程加锁)
command use
get key 获取数据value
mget key1 key2… 获取多个数据
msetnx key1 value1 key2 value2… 插入多个键值对,有存在的就停止
mset key1 value1 key2 value2… 插入多个不存在的键值对
append value1 value+value1,返回总长
strlen key 返回长度
setnx key 只有当key不存在时可以存储,当key已经存在则返回0
incr key 给数字类型的值加一,返回加一后数据
decr key 同上,不过是减法
incrby key value 同上,不过是加上value
decrby key value 同上,不过是减法
get range key index1 index2 获取index1-index2的值
set range key index1 value 从index1开始覆盖值
setex key time value 设置值的时候同时设置过期时间
getset key valuenew 返回旧值同时更新新值

列表List

  • 单键多值,按照插入顺序排序可以添加元素到头尾,实际上是一个双向链表,头尾操作较快,通过下标操作中间性能会较差
  • 元素较少时使用ziplist,分配的是连续内存,元素较多时则使用quicklist,即多个ziplist使用双向指针链接
command use
lpush/rpush k1 v1 k2 v2 从左或右插入一个或者多个值
lpop/rpop k 从左或右吐出一个值,值在键在
rpoplpush k1 k2 从k1列表右边吐出值加到K2左边
lrange k start stop 从k1开始获取从start到stop下标的值
lindex key index 按照索引下标获取元素(从左到右)
llen key 获取长度
linsert key before/after value newvalue 在value后面插入新值
lrem key num value
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值