Redis进阶之路

Posted 红桃xin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis进阶之路相关的知识,希望对你有一定的参考价值。

1. linux部署

这是一份快速入门文档,针对 没有Redis经验的人员。针对如下方面:

  • 下载并编译Redis并开始
  • 使用redis-cli访问服务器
  • 在应用程序中使用redis
  • 了解redis持久性的工作原理
  • 更正确地安装redis

2. 安装redis

建议使用redis源代码进行编译。因为也很方便,且能保证更新的版本。bash命令如下 :

wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make

此时,可以输入make test测试,也可以路过。编译后,src目录有命令文件生成:

  • redis-server 是server本身
  • redis-sentinel 哨兵(监视和故障转移)
  • redis-cli 是与redis交互的命令行工具
  • redis-benchmark 检查性能
  • redis-check-aof 和 redis-check-rdb日志记录 (在罕见的数据文件损坏事件中很有用)

最好使用如下 命令将redis服务器和命令行工具复制到环境变量中:

 sudo cp src/redis-server /usr/local/bin/
 sudo cp src/redis-cli /usr/local/bin/

或者使用sudo make install

3.启动redis

最简单方法是不带参数地执行redis-server

在这里插入图片描述
在上面的示例,在没有任务显式配置文件的情况下,用默认参数启动。对于生产环境,应该了解并使用配置文件。位于根目录中的模板配置文件 redis.conf

4. 检查Redis是否正常工作

外部程序使用TCP套接字和Redis特定协议与Redis对话。为了更方便使用,Redis提供命令行工具redis-cli。检查命令如下 :

redis-cli 
>ping #PONG
>set mykey somevalue # cli会自动提示,方便的
>get mykey # "somevalue"

可以参考基本Redis命令可以阅读

5. 保护Redis

默认Redids绑定所有接口,并且完全不进行身份验证。如果在内网,那就很好。但是她未经任何加固就暴露在Internet上,那将是一个很大的安全隐患。可以通过以下步骤提高安全性。

  1. 确认Redis用于侦听连接的接口(默认6379,集群模式下16379 、Sentinel是26379)已开户防火墙。
  2. 使用bind directive 。比如本地访问Redis,则仅用回环地址(127.0.0.1),依此类推。
  3. 使用 requirepas选项,以便客户端使用AUTH命令进行身份验证。
  4. 如果 环境需要加密,请使用spiped 或者其它SSL加密服务器与客户端之前通信。

6. 小试牛刀-应用程序中使用

java示例

7. 更正确安装

两种不同的选择

  • 使用命令行
  • 使用init脚本,自动重启

7.1 使用init脚本示例

假设已经在/usr/local/bin 下复制redis-server和redis-cli可执行文件。

  • 创建目录,用于存储Redis配置文件和数据
sudo mkdir /etc/redis
sudo mkdir /vaar/redis
  • 在utils目录下Redis安装 目录中找初始化脚本复制到/etc/init.d中。建议使用Redis实例的商品名称来调用。例如:

sudo cp /utils/redis_init_scritpt /etc/init.d/redis_6379

  • 编辑初始化脚本
sudo vi /etc/init.d/redis_6379
  • 根据使用的端口修改REDISPORT。pid文件路径和配置文件名取决于端口号。例如:
sudo cp redis.conf /etc/redis/6379.conf
  • 在/var/redis中创建一个目录,它将用作Redis实例的数据 和工作目录:
sudo make /var/redis/6379
  • 编辑配置文件,确保执行以下更改:
    • 守护程序 设置为是(默认否)
    • 将pidfile设置为/var/run/redis_6379.pid(如果需要,请修改端口)
    • 设置日志级别
    • 将目录设置为==/var/redis/6379 ==
  • 最后,使用以下命令将新的Redis初始化脚本添加到默认运行级别:
sudo update-rc.d redis_6379 defaults

现在可以尝试通过以下方式运行实例

sudo /etc/init.d/redis_6379 start

8.测试(确保一切正常)

  • 使用redis-cli ping通
  • 使用redis-cli save 进行测试保存,并检查 转储文件是否在/var/redis/6379/会生成dump.rdb文件
  • 检查 是否生成 对应级别的日志文件
  • 在不影响其它应用的情况下,可以确保重新启动后一切仍然正常。
    ps: 以上只是最基本的配置,一些理想重要的配置参数,可以参考redis.conf中的大量注释文件

参考链接

以上是关于Redis进阶之路的主要内容,如果未能解决你的问题,请参考以下文章

Redis进阶之路:深析Redis单线程架构,图文并茂非常值得收藏!

进阶之路Redis基础知识一篇就满足

听张老师讲运维工程师的进阶之路!

Python之路

小白的进阶之路2

Python之路第十七篇Django进阶篇