一、Redis简介
Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。
Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。
Redis的官网地址,非常好记,是redis.io。(域名后缀io属于国家域名,是british Indian Ocean territory,即英属印度洋领地),Vmware在资助着redis项目的开发和维护。
从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。
二、安装docker-compose
Linux上我们可以从Github上下载它的二进制包来使用,最新发行的版本地址:https://github.com/docker/compose/releases。
1、运行以下命令以下载Docker Compose的v2.11.0版本
[root@k8s-master ~]# wget -O /usr/bin/docker-compose https://github.com/docker/compose/releases/download/v2.11.0/docker-compose-linux-x86_64
2、授权可执行权限
[root@k8s-master ~]# chmod +x /usr/bin/docker-compose
3、测试是否安装成功
[root@k8s-master ~]# docker-compose -v
Docker Compose version v2.11.0
三、部署Redis
1、创建Redis目录
[root@k8s-master ~]# mkdir -p /opt/redis
2、创建docker-compose配置文件
[root@k8s-master ~]# cd /opt/redis
[root@k8s-master redis]# vim docker-compose.yml
version: "3.3"
services:
redis:
image: "redis:6.2.7"
container_name: redis
restart: always
privileged: true
ports:
- "6379:6379"
volumes:
- ./redis.conf:/etc/redis/redis.conf:rw
- ./data:/data:rw
command:
# 执行的命令
redis-server /etc/redis/redis.conf --appendonly yes
3、创建Redis配置文件
[root@k8s-master redis]# vim redis.conf
# 开启保护
protected-mode yes
# 开启远程连接
bind 0.0.0.0
# 自定义密码
requirepass Aa123456
port 6379
timeout 0
# 900s内至少一次写操作则执行bgsave进行RDB持久化
save 900 1
save 300 10
save 60 10000
rdbcompression yes
dbfilename dump.rdb
dir /data
appendonly yes
appendfsync everysec
4、启动Redis
[root@k8s-master redis]# docker-compose up -d
5、查看Redis状态
[root@k8s-master redis]# docker-compose ps
NAME COMMAND SERVICE STATUS PORTS
redis "docker-entrypoint.s..." redis running 0.0.0.0:6379->6379/tcp
6、访问Redis
[root@k8s-master redis]# docker exec -it redis redis-cli
127.0.0.1:6379> keys *
(error) NOAUTH Authentication required.
127.0.0.1:6379> auth Aa123456
OK
127.0.0.1:6379> keys *
(empty array)
127.0.0.1:6379> set test 123
OK
127.0.0.1:6379> get test
"123"
继续阅读
历史上的今天
11 月
26