Redis服务日程运维知识点
启动Redis
在Windows中,Redis可以作为普通的程序启动,也可以注册为Windows服务进程启动。如果服务器是Windows server 2012或者更高版本,可以通过服务管理器来管理Redis服务。如果是在Windows电脑上开始时候使用,作为普通的程序启动即可。
在Linux中,我们以CentOS为例,也可以下载Redis的压缩包,解压运行;也可以作为服务进程,通过systemctl enable xxxx 和 service xxxx start来管理和启动。
我们以压缩包解压运行为例,解压后,进入到redis目录下,执行redis-server.exe redis.conf即可启动Redis。
1 |
|
在CentOS下,这个程序一般是放在src中的,我们可以进入到src目录下,执行make命令编译,然后执行src/redis-server即可启动Redis。
1 |
|
退出Redis
在CentOS中,我们可以通过查看Redis的进程,然后使用kill命令退出Redis。
1 |
|
当然,这是下下策,优雅的退出Redis也是可以的,我们通过redis-cli来实现:
1 |
|
在Windows中,我们可以通过任务管理器来退出Redis。
访问灵活性与安全性
redis是一个高性能的key-value数据库,它支持多种数据结构,如字符串、哈希、列表、集合、有序集合等。
redis支持多种访问方式,包括命令行、客户端、REST API等。
我们需要在不同的场景下选择合适的访问方式,以保证访问的灵活性和安全性。
访问redis的方式
redis的访问方式有很多种,我们需要根据不同的场景选择合适的访问方式。
例如,我们可以使用命令行进行简单的访问,也可以使用客户端进行批量操作。
我们也可以使用REST API进行批量操作,也可以使用客户端进行加密。
我们还可以使用redis的官方客户端进行访问,也可以使用第三方客户端进行访问。
- 命令行
命令行是redis最基本的访问方式,它支持多种命令,如set、get、del、keys等。
命令行的优点是简单易用,缺点是无法进行批量操作,而且命令行的访问方式不适合在生产环境中使用。
- 客户端
客户端是redis的官方客户端,它支持多种语言,如Python、Java、C++等。
客户端的优点是支持批量操作,而且客户端的访问方式可以进行加密,缺点是客户端的安装和配置比较麻烦。
- REST API
REST API是redis的官方API,它支持多种语言,如Python、Java、C++等。
REST API的优点是支持批量操作,而且REST API的访问方式可以进行加密,缺点是REST API的安装和配置比较麻烦。
避免绑定127.0.0.1
我们以redis-6.2.6为例,在redis.conf中添加如下配置:
1 |
|
这样就可以在任何IP上访问redis了。
配置密码
1 |
|
这样访问redis的时候就需要输入密码了。
配置持久化
1 |
|
这样redis就会把数据写入到appendonly.aof文件中,这样即使redis重启,数据也不会丢失。
Redis的高级应用
redis的高级应用有很多,我们需要根据不同的场景选择合适的应用。
缓存
redis的缓存功能是redis最常用的功能之一,它可以将数据存储在内存中,这样可以提高访问速度。
我们可以使用redis的set命令将数据存储在内存中,然后使用get命令获取数据。
1 |
|
分布式锁
redis的分布式锁是redis最常用的功能之一,它可以保证在分布式环境下,只有一个进程可以获取锁。
我们可以使用redis的setnx命令获取锁,然后使用del命令释放锁。
1 |
|
发布订阅
redis的发布订阅功能是redis最常用的功能之一,它可以实现消息的发布和订阅。
我们可以使用redis的publish命令发布消息,然后使用subscribe命令订阅消息。
1 |
|
事务
redis的事务功能是redis最常用的功能之一,它可以保证在一个事务中,所有的命令都成功执行,或者都失败。
我们可以使用redis的multi命令开始一个事务,然后使用exec命令执行事务。
1 |
|
限流
redis的限流功能是redis最常用的功能之一,它可以保证在一个时间段内,只有一定数量的请求可以访问。
我们可以使用redis的incr命令将请求次数加1,然后使用expire命令设置过期时间。
1 |
|
分布式队列
redis的分布式队列是redis最常用的功能之一,它可以实现消息的发布和订阅。
我们可以使用redis的lpush命令将消息放入队列,然后使用rpop命令获取消息。
1 |
|
配置主从复制
同时运行多台redis,其中一台作为主节点,其他的作为从节点,这样就可以实现数据的备份和负载均衡了。
本文不具体展开,有兴趣的可以自行了解。
配置哨兵
哨兵是redis的高可用方案,哨兵可以监控redis的状态,如果redis挂了,哨兵会自动将从节点切换为主节点,这样就可以保证redis的高可用了。