Redis学习总结,持续更新

1.使用场景

  1. 业务数据常用
  2. 读操作远大于写操作
  3. 数据总量不太大

2.缓存
将数据直接存放在内存,极大减少数据库压力。

3.常用操作
http://doc.redisfans.com/

4.基本的数据结构
字符串
可以理解为简单的k/v存储。
常用的命令有:Append incr incrby decr decrby get set
哈希表
是一个string类型的field和value的映射表,一个key可以有多个field,一个field对一个value,可以存储复杂对象的信息。
常用的命令有:hset hget hexists
集合
集合类型提供一个列表的功能,可以自动去重
常用的命令有:SADD SREM SCARD SISMEMBER
有序集合
和set的功能相似,可以通过用户提供一个优先级参数来实现自动排序,set结构不会自动进行排序操作。sort set内部使用hashmap和skiplist来实现数据的有序存储,保证查询的效率和元素的有序性。
常用的命令有:append incr incrby decr decrby get set
列表
列表是一个双向的链表,支持反向插入/查找/遍历。常用与缓冲队列,消息队列等场景。
常用的命令:lpush rpush lpop rpop llen
5.常用命令用法
del key 删除键
keys aa* 列举所有的aa开头的key(服务器线上环境慎用,会导致服务器性能问题,严重时影响线上作业)
set/get key 设置/获取key 的值

> incr [key]

key存在且为数字类型则+1并返回加一后的值。
key不存在,则创建并初始化为0,然后再执行incr命令。
key存在但是不是数字类型,则返回err。

> decr [key]

key存在且为数字类型,则数值减1,返回-1后的值。
key不存在,则创建并初始化value为0,并返回减1后的值。
key存在,不是数值类型,则返回error

注意incrdecr 均为在int64的范围中进行操作。

> incrby [key] [Increment]

用法和incr类似,可以指定增加的数值。
key不存在,则键key被初始化为0,然后再执行incrby命令。
key存在,不是数值类型,则返回error

> decrby [key] [Increment]

用法和decr类似,可以指定减去的数值。
key不存在,则键key被初始化为0,然后再执行decrby命令。
key存在,不是数值类型,则返回error

注意incrbydecrby 均为在int64的范围中进行操作。

> sismember [key] [member]

判断member是否属于某个集合key
若属于返回1,不属于或者集合key不存在则返回0.

> append [key] [appendStr]

string类型的append方法用于在指定keyvalue字符串的最后追加字符串,返回追加后的字符串的长度
key不存在,则将该key的值设置为appendStr

如何遍历redis:

使用Scan命令可以遍历redis:
scan ITERATOR [MATCH] [Pattern] [COUNT ] [num]

iter为游标,初始为0 ,match后面是key的匹配模式,如:m_* ,count 为每次扫描的记录数,如果库内数据充足,且无match,则返回的结果通常就是count个。

127.0.0.1:6379> scan 0
1) "10"
2)  1) "lottery_push"
    2) "zx"
    3) "m_m_info_12323"
    4) "user_books_5"
    5) "l"
    6) "user_books_9"
    7) "m_m_info_1234"
    8) "user_books_6"
    9) "m_m_info_1235"
   10) "user_books_2"

返回的结果包含两个部分:(1)为下次扫描的游标,(2)为扫描得到的key

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值