一、redis概念
redis是nosql的一种数据库,是以key-value形式保存在内存中的,并且支持数据持久化
存储的一种非关系型数据库。
内存中:读取和写入速度非常快
持久化存储:写入磁盘或者文件(两种本分数据的方式.aof RDB)
支持主从配置
应用场景:图片验证码,手机验证码保存在redis中,session保存在redis
二、redis的启动和停止
服务端:redis-server(通过默认的配置项启动)
sudo redis-server /etc/redis/redis.conf (指定的配置文件启动)
ps aux | grep redis
kill -9 进程号
(你怎么杀都杀不死)
service redis stop
客户端: redis-cli (默认用的是本地回环地址)
需求:如果你在配置文件中设置了bind 内网地址,
redis-cli -h 配置文件指定的bind后面的地址 -p
exit
三、数据的查询
sting 键命令 hash list set zset
set keys hset lpush sadd zadd key score zhangsan
四、python交互
pip install redis
from redis import StrickRedis
sr = StrickRedis(host="xxxx", post=6379, db=0)
sr.set("name", "laowang")
五、redis主从
好处:1、读写分离
2、降低服务器的压力
3、提高数据的查询效率
4、备份数据的作用
如何搭建主从? 一主多
1主1从:两台服务器,有现在只有一台电脑,可以通过不同的端口来表示不同的redis服务
我们启动redis服务靠的是什么???
/etc/redis/redis.conf
需要有两个配置文件
1、将redis.conf复制一份:sudo cp redis.conf slave.conf
2、获取主机地址 ifconfig
3、主配置redis.conf
sudo vim redis.conf. bind 192.168.11.xxx. :wq退出vi
4、从配置 slave.conf
sudo vim slave.conf bind 192.168.11.xxx
port 6378
slaveof 192.168.11.xxx 6379
5、把现有的redis服务都关了
ps aux | grep redis
kill -9 xxx
service redis stop
停止所有服务后
6、sudo redis-server /etc/redis/redis.conf 启动主服务
sudo redis-server /etc/redis/slave.conf 启动从服务
7、ps aux | grep redis
8、redis-cli -h ip -p 6379
redis-cli -h ip -p 6378
四、集群
1、好处: 建立在主从之上,包含主从的有点
提高可用性和可缩放性
2、配置 三主三从
~/Desktop/config
7000.conf
7001.conf
7002.conf
7003.conf
7004.conf
7005.conf
复制:
port 7000 # 需要修改
bind 172.16.179.130
daemonize yes
pidfile 7000.pid # 需要修改
cluster-enabled yes
cluster-config-file 7000_node.conf # 需要修改
cluster-node-timeout 15000
appendonly yes
启动服务:
由于不是在etc目录下
redis-server 7000.conf 一次启动
搭建集群:参考课件
五、python代码连接集群
pip install redis_py_cluster
from rediscluster import StrickRedisCluster
startup_nodes = [
# 只要其中有一个ip和端口是正确的,就可以进行连接
{"host":"xxx", "port":xxxx},
{"host":"xxx", "port":xxxx},
{"host":"xxx", "port":xxxx},
]
sr = StrickRedisCluster(startup_nodes=startup_nodes, decode_response=True)
sr.set()