文章目录
前言
叙述
初识Redis
Redis简介
Redis是一个远程内存数据库,而且是一个非关系型数据库,能存储5中不同类型的键值对,并且可以持久化到硬盘,使用复制的特性去扩展读写功能
Redis和memcache相比的独特之处
(1)redis可以用来做存储(storge)、而memcache是来做缓存(cache)。这个特点主要是因为其有“持久化”功能
(2)存储的数据有“结构”,对于memcache来说,存储的数据,只有一种类型——“字符串”,而redis则可以存储字符串、链表、集合、有序集合、哈序结构
Redis数据结构
结构类型 | 结构存储的值 | 结构的读写能力 |
---|---|---|
STRING | 字符串,整数或者浮点数 | 对整体或部分字符串进行操作,对整数或浮点数进行自增自减 |
LIST | 一个链表,链表上每个节点都包含字符串 | 两表两端推入或弹出操作, |
SET | 无序收集字符串并且第一无二 | 添加,获取,移除单个元素 |
HSAH | 包含键值对的无序散列表 | 添加,获取,移除单个键值对,获取所有键值对 |
ZSET(有序集合) | 字符串和浮点数之间有序映射 | 添加,获取,删除单个元素,根据分值范围或成员来获取元素 |
Redis使用场景
- 会话缓存
- 消息队列,支付等
- 分析统计
- 活动排行或计数
- 发布 订阅消息
- 商品列表 评论列表
Redis持久化
两种方式,快照,仅附件文件(AOF)
快照
定义:使用截图的方式,将内存中的数据不断写入磁盘(性能高,但可能会引起一定程度的数据丢失)
-
将存储在内存的数据一块找的方式写入二进制文件中,如默认的dump.rdb
-
保存900 1
900秒内如果超过一个key被修改,则启动快照保存 -
保存60 10000
60秒内,如果超过10000个重点被修改,则启动快照保存
AOF
定义:使用类似mysql的方式,记录每次更新的日志
-
服务奖每个收到的写命令通过函数追加到文件中(appendonly.aof)
-
AOP持久化存储方式参数说明
1.appendonly yes 开启aof持久化存储方式 2.appendfsync always 收到命令后就立即写入磁盘,效率最差,效果最好 3.appendfsync everysec 每秒写入磁盘一次,效果与效率居中 4.appendfsync no 完全依赖操作系统,效果最佳,效果没法保证
Redis详解
字符串
字符串命令
命令 | 行为 |
---|---|
GET | 获取值 |
SET | 设置值 |
DEL | 删除值 |
列表
命令 | 行为 |
---|---|
RPUSH | 值推入右端 |
LRANGE | 获取在给定范围内的所有值 |
LINDEX | 获取在给定位置的单个元素 |
LPOP | 从左端弹出值,并且返回改值 |
集合
命令 | 行为 |
---|---|
SADD | 添加元素至集合 |
SMEMBERS | 返回集合包含的所有元素 |
SISMEMBER | 检查给定元素是否存在于集合中 |
SREM | 如果给定的元素存在于集合中,那么移除这个元素 |
散列
命令 | 行为 |
---|---|
HSET | 在散列表里关联给定的键值对 |
HSET | 获取指定散列键的值 |
HGETALL | 获取散列包含的所有键值对 |
HDEL | 移除散列表里某个定键 |
有序集合
命令 | 行为 |
---|---|
ZADD | 添加到有序即合理 |
ZRANGE | 从有序集合里获取多个元素 |
ZRANGEBYSCORE | 获取有序集合在给定范围内的所有元素 |
ZREM | 移除有序集合里某个元素 |
REDIS |
小结
感谢您的阅读~~