《Redis实战》
认真学习Redis,记录《Redis实战》的概念笔记
一、初始Redis
Redis可以存储键和五种不同数据结构之间的映射:STRING(字符串),LIST(列表),SET(集合),HASH(散列),ZSET(有序集合)。
字符串String的常见命令包括
GET:获取给定键中的值
SET:设置给定键中的值
DEL:删除给定键中的值
列表LIST的常见操作包括以下,左右对称
- RPPUSH:将给定的值推到列表的右端
- LRANGE:获取列表在给定范围上的所有值
- LINDEX:获取列表在给定位置上的单个元素
- LPOP:从列表的左端弹出一个值,并返回该值
集合SET保证存储的都是不相同的,常见操作
- SADD:元素添加到集合
- SMEMBERS:返回集合所有元素
- SISMENBER:检查给定元素是否在集合中
- SREM:如果给定的元素存在于集合中,那么移除这个元素
散列HASH,类似于MySql中的行的概念,很像一个微缩版的Redis,常见命令
- HSET:在散列里面关联给定的键值对
- HGET:获取指定散列键的值
- HGETALL:获取散列包含的所有键值对,返回键和值的字典形式
- HDEL:如果给定键存在于散列里面,那么移除这个键
有序集合ZSET,存储键值对。其中的键被称为成员,每个成员各不相同,值被称为分值。唯一的一个可以根据成员访问值,也可以根据值访问成员。常见操作命令:
- ZADD:将一个带有给定值的成员添加到有序集合里面
- ZRANGE:根据元素在有序排列中所处的位置,从有序集合里面获取多个元素
- ZRANGEBYSCORE:获取有序集合在给定分值范围内的所有元素
- ZREM:如果给定成员存在于有序集合,那么移除这个成员。
二、使用Redis构建web应用
典型的引用场景包络以下
- 登录和cookie缓存。签名(signed)cookie和令牌(token)cookie
- 用Redis实现购物车,存储商品id和商品订购数量之间的映射
- 网页缓存,缓存不经常变动的网页结果
- 缓存部门关系数据库中的行
- 缓存部门页面:通过页面压缩、Edge Side includes技术、移除模版无用字符等优化
三、Redis命令
字符串命令
- INCR
- DECR
- INCRBY:键存储的值加整数
- DECRBY
- INCRBYFLOAT:键存储的值加浮点数
- APPEND:将值追加到给定键当前存储值的末尾
- GETRANGE:获取一个由偏移量start至end范围内所有字符组成的子串,包括start和end在内
- SETRANGE:从start偏移量开始的子串设置为给定值
- GETBIT:获得偏移量的二进制值
- SETBIT:设置偏移量的二进制值
- BITCOUNT:统计值为1的二进制值的数量
- BITOP:执行按位运算操作