安装:
>>> curl -O http://download.redis.io/releases/redis-3.2.8.tar.gz
>>> tar -zxvf redis-3.2.8.tar.gz
# 进入到解压的文件夹根目录
>>> sudo make install
# 进入到/usr/local/bin内查看:
>>> cd /usr/local/bin
>>> ls -a
redis-server redis服务器
redis-cli redis命令行客户端
redis-benchmark redis性能测试工具
redis-check-aof AOF文件修复工具
redis-check-rdb RDB文件检索工具
redis-cli redis命令行客户端
redis-benchmark redis性能测试工具
redis-check-aof AOF文件修复工具
redis-check-rdb RDB文件检索工具
配置:
# 手动创建目录:/etc/redis
# 复制文件redis解压目录下的redis.conf到刚创建的/etc/conf目录下
# 修改redis.conf:
bind 127.0.0.1
port 6379
daemonize yes - 后台运行,是否有以守护进程运行
dbfilename dump.rdb - 数据库文件
dir /etc/redis - 数据文件保存的目录
logfile /etc/redis/redis-server.log - 日志文件
database 16 - 数据库个数
requirepass “123465” - 设置密码
# 启动服务端:
# 在项目目录下建立[].conf文件,并写入需要修改的选项,如
bind 127.0.0.1
port 7001
# 进入到项目目录,启动服务端:
>>> sudo redis-server [].conf
# 查看是否启动成功:
>>> ps -ef|grep redis-server
# 停止:
>>> sudo pkill -9 redis-server
# 启动客户端:
# 连接到redis服务器
>>> redis-cli -h 主机 -p port —-raw
# —-raw 选项用于查看值为中文的情况
# 切换数据库:
>>> select 2
搭建主从:
1> 浏览器网站,网站向数据库保存数据,master主服务器写数据,slave自动备份数据。
2> 作用:
a. 备份数据:主服务器会同步数据到从服务器
b. 实现读写分离:master负责写数据,slave负责读数据
![](https://i-blog.csdnimg.cn/blog_migrate/09633c5c05ff3b7ab1a8be0869e02bc3.png)
3> 步骤:
a. 创建一个新目录:/Desktop/python/redis,拷贝redis.conf 到当前目录下
sudo cp /redis解压目录/redis.conf /home/python/redis/master.conf
b. 改名为master.conf,修改配置如下是:
bind 192.168.210.150
port 7000
daemonize yes
c. 启动主服务器:
redis-server master.conf
d. 拷贝新的redis.conf到相同目录,修改为slave.conf,并修改配置如下:
bind 192.168.210.149
port 7000
daemonize yes
slaveof 192.168.210.150 7000
e. 启动从服务器:
redis-server slave.conf
f. 查看主:
redis-cli -h 192.168.210.150 -p 7000 info Replication
redis-cli -h 192.168.210.149 -p 7000 info Replication
搭建集群:实现负载均衡,至少需要三个主从服务器
1> 配置6个服务器的conf文件如下:
bind 192.168.210.150
port 7001
pidfile 7001.pid
cluster-enabled yes
cluster-config-file 7001_node.conf
cluster-node-timeout 5000
daemonize yes
appendonly yes
# pidfile:运行后创建,记录pid
# cluster-config-file:运行后记录配置,运行状态等
# appendonly:开启持久化的一种模式,redis有两种:RDB和AOF
RDB模式: Redis默认采用异步的方式将数据存放到磁盘上,这个模式对大部份应用来说是足够好的,但是在Redis进程或
电源发生故障的情况下,可能会造成小部份的数据丢失,这取决于配置的保存时间点。
故障或操作系统仍然正常运行但Redis进程莫名挂掉的情况下,只丢失1秒的数据。
AOF与RDB模式可以同时启用,这并不冲突。如果AOF是可用的,那Redis启动时将自动加载AOF,这个文件能够提供更好的持久性保障。
2> 启动6个服务器:redis-server [].conf
3> 创建集群:
# 将redis解压包中src目录下的redis-trib.rb拷贝到/usr/local/bin目录:
# 注意先进入 redis-trib.rb 所在的目录
sudo cp redis-trib.rb /usr/local/bin/
# 安装ruby环境:
brew install ruby
apt-get instal ruby # linux
# 安装ruby的redis依赖:
i. 查询gem源地址,如果不是https://rubygems.org/,需要更换
gem source -l
ii. 更换gem源:
gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/
iii. 安装redis包:
sudo gem install redis
4> 使用redis-trib.rb创建集群:# —-replicas 1 表示一个主配一个从
redis-trib.rb create --replicas 1 主机1:端口1 主机2:端口2 ...
5> 通过集群连接服务器:
redis-cli -c -h 192.168.210.149 -p 7001
# cry16算法:redis集群默认定义16384个slot,平均分配,通过集群保存键值对时,redis会通过算法,CRC16(KEY)%16384,根据结果找到服务器
python中使用集群:
# 安装包:
pip install redis-py-cluster