欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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