《Redis开发与运维》读书笔记

一、初始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、数据结构和内部编码

猜你喜欢

转载自www.cnblogs.com/wangzhongqiu/p/9054101.html