《Redis开发与运维》读书笔记
程序员文章站
2022-04-06 13:13:58
一、初始Redis 1、Redis特性与优点 速度快。redis所有数据都存放于内存;是用C语言实现,更加贴近硬件;使用了单线程架构,避免了多线程竞争问题 基于键值对的数据结构,支持的数据结构丰富。它主要提供了5种数据结构: 字符串、 哈希、 列表、 集合、 有序集合, 同时在字符串的基础之上演变出 ......
一、初始Redis
1、Redis特性与优点
- 速度快。redis所有数据都存放于内存;是用C语言实现,更加贴近硬件;使用了单线程架构,避免了多线程竞争问题
- 基于键值对的数据结构,支持的数据结构丰富。它主要提供了5种数据结构: 字符串、 哈希、 列表、 集合、 有序集合, 同时在字符串的基础之上演变出了位图(Bitmaps) 和HyperLogLog两种神奇的“数据结构”, 并且随着LBS(Location Based Service, 基于位置服务) 的不断发展, Redis3.2版本中加入有关GEO(地理信息定位) 的功能
- 功能丰富。键过期功能,用来实现缓存;提供了发布订阅功能,实现消息系统;支持Lua脚本;提供简单的事务功能;提供了Pipeline,一次性将一批命令传给redis服务器,减小了网络开销
- 简单,稳定。源码少,3.0版本源代码只有5w行左右
- 客户端语言多。
- 持久化。两种持久化方式: RDB和AOF
- 主从复制。复制功能是分布式Redis的基础
-
高可用和分布式。2.8版本提供了高可用实现Redis Sentinel, 它能够保证Redis节点的故障发现和故障自动转移。 Redis从3.0版本正式提供了分布式实现Redis Cluster, 它是Redis真正的分布式实现, 提供了高用、 读写和容量的扩展性。
2、应用场景
- 缓存。
- 排行榜系统。redis提供了列表和有序集合支持。
- 计数器应用。
- 社交网络。
- 消息队列系统。redis提供了订阅发布和阻塞队列功能,虽然和专业的消息队列软件比不够强大,但是可以满足一般的消息队列需求
3、redis常用操作
- 服务端启动。配置文件启动,redis-server /opt/redis/redis.conf
- 客户端启动。redis-cli -h 127.0.0.1 -p 6379
- 停止redis服务。redis-cli shutdown nosave|save 关闭过程:断开与客户端的连接;持久化文件生成。不建议kill -9 暴力杀进程,极端下会造成丢失数据的情况
二、API的理解和使用
1、全局命令
- 查看所有键。【keys *】会遍历所有键,禁用
- 键总数。【dbsize】不会遍历所有键,直接获取redis内置的键总数
- 检查键是否存在。【exists key】存在返回1,不存在返回0
- 删除键。【del key】返回结果为成功删除的键的个数
- 设置键过期。【expire key seconds】
- 检查键过期。【ttl key】返回键的剩余过期时间。-1,键没设置过期时间;-2 键不存在
- 查看键的类型。【type key】键不存在,返回none
2、数据结构和内部编码
推荐阅读