zoukankan      html  css  js  c++  java
  • Redis 初次见面

    目录

    1. Redis 特性
    2. 使用场景
    3. 初次使用
      安装(Linux)
      配置
      启动 redis 的 3 种方法
      使用 redis 客户端
      关闭 redis 服务
    4. Redis 版本说明
    5. 引用

    1 Redis 特性

    1. 速度快(基于内存,C 语言,单线程)
    2. 基于 key value 键值对的数据结构服务器。全称 Remote Dictionary Server。包含 String,Hash, List, Set, SotrSet. 同时在字符串的基础上演变出位图(BitMaps) 和 HyperLogLog 两种数据数据结构。3.2 版本中加入 GEO(地理信息位置)。
    3. 丰富的功能。例如:键过期(缓存),发布订阅(消息队列), Lua 脚本(自己实现 Redis 命令),事务,流水线(Pipeline 减少网络开销)。
    4. 简单稳定。
    5. 客户端语言多。
    6. 持久化(RDB,AOF)。
    7. 主从复制(分布式的基础)。
    8. 高可用(Sentinel)和分布式(Cluster)。

    2 使用场景

    1. 缓存

    合理的使用缓存能够明显加快访问的速度,同时降低数据源的压力。这也是 Redis 最常用的功能。Redis 提供了键值过期时间(EXPIRE key seconds)设置,并且也提供了灵活控制最大内存和内存溢出后的淘汰策略。

    1. 排行榜

    每个网站都有自己的排行榜,例如按照热度排名的排行榜,发布时间的排行榜,答题排行榜等等。Redis 提供了列表(List)和有序集合(sorted set)数据结构,合理的使用这些数据结构可以很方便的构建各种排行榜系统。

    1. 计数器

    计数器在网站应用中非常重要,例如,点赞数加一,浏览数加一,还有常用的限流操作,限制每个用户每秒访问系统的次数等等,Redis 支持计数功能(INCR key)而且计数的性能也非常好,计数的同时也可以设置超时时间,这样就可以实现限流。

    1. 社交网络

    赞/踩,粉丝,共同好友/喜好,推送,下拉刷新等是社交网站必备的功能,由于社交网站访问量通常比较大,而且传统的数据库不太适合保存这类数据,Redis 提供的数据结构可以相对比较容易实现这些功能。链接:Redis实战:如何构建类微博的亿级社交平台

    1. 消息队列

    Redis 提供的发布订阅(PUB/SUB) 和阻塞队列(blpop key1...keyN timeout )的功能,虽然和专业的消息队列比,还不够强大,但对于一般的消息队列功能基本满足。

    3 初次使用

    1. 安装(Linux)
      Centos yum install redis
    2. 配置
      安装完成之后,会在 /usr/local/bin 目录目录下,多出几个可执行文件,称之为 redis shell。如下:
    可执行文件 作用
    redis-server 启动 redis 服务
    redis-cli redis 命令行客户端
    redis-benchmark redis 基准测试工具
    redis-check-aof redis AOF 持久化文件检测和修复工具
    redis-check-dump redis RDB 持久化文件检测和修复工具
    redis-sentinel 启动 redis sentinel
    1. 启动 redis 的 3 种方法
      3.1 配置文件启动
      将配置写到配置文件中,例如写到 /opt/redis/redis.conf 中,执行 redis-server /opt/redis/redis.conf 即可启动 redis。redis 有 60 多个配置,常用的是:port(端口),logfile(日志文件),dir(redis 工作目录,存放持久化文件和日志文件),daemonize(是否以守护进程的方式启动 redis)。
      3.2 运行启动
      在 redis-server 后面加入参数,格式为:redis-server --configkey1 configvaue1 --configkey2 configvalue2. 例如:redis-server --port 6380 ,即,将端口自定义为 6380.
      3.3 默认启动
      直接 redis-server,默认端口 6379.

    如果是生产环境的话,通常建议使用配置文件的方式启动。

    1. 使用 redis 客户端
      redis 客户端可以通过设置 ip 端口,连接 redis 服务器并执行命令。而使用redis-cli 的方式有 2 种。
      4.1 交互式方式
      通过 redis cli -h [host] -p [port] 的方式连接到 reids 服务。
      4.2 命令式方式
      通过 redis-cli -h [host] -p [port] [command] 就可以,是一次性的。

    注意:如果不指定 host,port ,默认连接 127.0.0.1:6379.

    1. 关闭 redis 服务
      redis 提供了 shutDown 命令来停止 redis 服务,例如停掉127.0.0.1:6379 服务,使用:redis-cli shutdown 即可。

    注意点:

    1. redis 关闭的过程:断开和客户端的连接,持久化文件生成。相对而言比较优雅。
    2. 不用使用 kill -9,过于粗暴,不但不会做持久化操作,还会造成缓冲区等资源不会优雅关闭。极端情况下造成 AOF 和复制丢失数据的情况。
    3. shutdown 还有一个参数,代表是否在关闭 redis 前,生成持久化文件:
      redis-cli shutdown nosave|save

    4 Redis 版本说明

    redis 借鉴了 Linux 对于版本号的命名规则,版本号第二位如果是奇数,则为非稳定版本,如果是偶数,则为稳定版本。当前奇数版本就是下一个稳定版本的开发版本。

    重大版本:2.8 提升了 sentinel 的可用性,使其可在生产环境使用;3.0 版本最大的功能:添加了分布式 Redis Cluster,填补了官方没有分布式实现的空白(之前都是用户自己实现的 sharding)。

    5 引用

    《Redis 开发与运维》

  • 相关阅读:
    拆分跨天的时间数据
    模板
    更换数据库服务器迁移步骤
    缺失索引
    flex布局解说和属性
    Vuejs中关于computed、methods、watch,mounted的区别
    皮囊
    回家
    江苏旅游计划
    重写原生alert,弹出层过一会就消失
  • 原文地址:https://www.cnblogs.com/stateis0/p/9479326.html
Copyright © 2011-2022 走看看