本文共 2591 字,大约阅读时间需要 8 分钟。
最近在学《Redis入门指南 (第2版)》,我个人平时也比较喜欢整理技术文档,接下来就把我学习 Redis入门指南 做的记录分享出来,以便以后查看和回顾。有错误的地方,还望大家批评指正,谢谢。
pdf文档链接: 提取码:9fz1
Redis入门的其他博客链接如下,如果嫌麻烦的化,可以直接下载我的文档:
1. 5大数据结构
很多文章都会说,redis支持5种常用的数据类型,这其实是存在很大的歧义。redis里存的都是二进制数据,其实就是字节数组(byte[]),这些字节数据是没有数据类型的,只有把它们按照合理的格式解码后,可以变成一个字符串,整数或对象,此时才具有数据类型。(摘至:微信公众号中的文章 - )
1.1 string 字符串
- set mset
- get mget
- incr,当键不存在时,初始为0;incrby key increment,返回增加后的键的值
- decr decrby
- incrbyfloat key increment ,增加指定浮点数
- append key value,向尾部追加值,返回值的长度
- strlen key 获取字符串长度
- getrange key start end 返回key中字符串值得子字符
- getset key value 设置新值,返回旧值
- 位操作
- setex key seconds value,设置key的过期时间
- setnx key value,只有key不存在时设置key的值
1.2 hash 散列
String类型的field和value的映射表,hash特别适合用于存储对象
- hset | hmset key field value []
- hget | hmget key field
- hgetall key
- hexists key field 判断字段是否存在
- hsetnx key field value 当字段不存在时赋值
- hincrby key field value 增加数字
- hdel key field [field…] 删除字段
- hkeys key;hvals key 只获取字段名或字段值
- hlen key 获得字段数量
- hincrby key field increment
1.3 list 列表
简单的字符串列表,按照插入顺序排序。可以添加一个元素到列表的头部(左边)或者尾部(右边);索引左边从0开始,右边从-1开始
- lpush rpush
- lrange key start stop;0 -1 获取所有
- lpop rpop
- llen 列表元素个数
- lrem key count value,删除列表中前count个值为value 的元素
- lindex key index 获取指定索引的元素值,下标从0 开始
- lset key index value 设置指定索引的元素值
- ltrim key start end 保留列表指定片段
- linsert key before|after pivot value,在指定元素povit的前面或者后面插入元素
- rpoplpush 将元素从一个列表转换到另一个列表(弹出一个元素)
1.4 set 集合
String类型的无序集合,集合成员是唯一的。
- sadd | srem key member
- smembers key 获取集合中的所有元素
- sismember key member 判断元素是否在集合中
- 集合间运算
- sdiff key [key...],差集
- sinter key [key...],交集
- sunion key [key...],并集
- scard 获得集合中元素个数
- sdiffstore | sinterstore | sunoinstore destination key [key ...],进行集合运算并将结果存储
- srandmember key [count] 随机获取集合中的元素
- spop 随机弹出一个元素
- srem key member1 member2,移除集合中一个或多个元素
- smove source destination member,将member元素从source集合移动到destination集合
1.5 zset|sorted set 有序集合
有序集合和无序集合一样也是String类型元素的集合,且不允许重复的成员;不同的是每个元素都会关联一个double类型的分数,redis正是通过分数来为集合中的成员进行从小到大的排序;有序集合的成员是唯一的,但分数(score)却可以重复
- zadd key score member [score member],增加元素,也可以用该命令修改分数
- zscore key member 获得元素的分数
- 获得排序在某个范围的元素列表
- zrange key start stop [withscores] start|stop都是索引,从0开始。升序
- zrevrange key start stop [withscores] 降序
- zrangebyscore key min max [withscores] [limit offset count] 获取指定分数范围的元素(包括min和max)
- zincrby key increment member 增加某个元素的分数
- zcard key 获得集合中元素的数量
- zcount key min max 获得指定分数范围内的元素个数
- zrem key member [member...] 删除一个或多个元素
- zremrangebyrank key start stop 按照排名范围删除元素 [start, stop]
- zremrangebyscore key min max 按照分数范围删除元素
- 获的元素的排名
- zrank key member
- zrevrank key member
- 有序集合的交集
1.6 其他命令
- keys pattern 获得复合规则的键名列表 keys * 获取所有键
- exists key 判断一个键是否存在
- del key 删除键
- type key 获得键值的数据类型
- flushdb 清除当前库中的所有key
- flushall 删除所有数据库的所有key
转载地址:http://ipqen.baihongyu.com/