Redis 数据库配置

论坛 期权论坛 脚本     
匿名网站用户   2020-12-19 21:37   31   0
安装:
>>>curl -Ohttp://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文件检索工具

配置:
# 手动创建目录:/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负责读数据


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
g. 查看从:
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进程或
电源发生故障的情况下,可能会造成小部份的数据丢失,这取决于配置的保存时间点。

AOF模式: Appendonly是一种能够提供非常好的持久化的模式,例如使用默认的Fsync方案,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
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1136255
帖子:227251
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP