数据存储-redis
redis安装
redis是一个key-value存储系统。数据都是缓存在内存中。周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
安装教程:下载解压,将解压后的位置加入环境变量 直接运行以下命令即可启动
下载地址:https://github.com/tporadowski/redis/releases
下载地址2(5.0.14):https://blog.csdn.net/daxiang52/article/details/125350003
版本:5.0.14
redis-server.exe #服务端启动
redis-cli.exe #客户端启动
redis简单使用
查看配置文件与参数详解:略
以下操作均在 redis-cli的shell中运行
"""普用操作"""
select 14 # 切换至数据库14 默认为数据库0 (共有16个数据库0-15)
lpush one 1 2 3
set name 'apple'
type one # 查看类型 # list
keys * # 查询所有键 #name one
keys n* # 查看n开头的键
exists name # 判断键是否存在
expire name 3 # 给键name 设置3s的过期时间
del name # 删除键name
flushall # 清空所有数据库的键值对
flushdb # 清空当前数据库
"""字符串的操作"""
# 设置键值对
set name 'apple' #单次写入 设置键值对
setex age 5 18 #设置到期过期的键值对 5S后该键值对消失
mset one 1 two 2 three 3 #单次写入多个 设置键值对
# 获取对应键的值
get name # 获取键name 的值
mget one two three # 获取多个键对应的值
#修改
append two 3456 #在对应键的值后添加内容 #23456
"""hash对象的操作,类似字典"""
hset person name jenny age 18 #设置对象person的属性 name 和age
hkeys person # 查看对象person的属性
hvals person # 查看对象person的所有属性的值
hget person name #获取对象person 的属性 name的值
hdel person name #删除对象person的name属性及值
"""list的操作"""
lpush one 1 #向列表one中添加数据(左) # 1
lpush one 2 3 4 5 6 #向列表one中添加数据(左) # 6 5 4 3 2 1
rpush two 1 2 3 4 5 6 #向列表one中添加数据(右) # 1 2 3 4 5 6
lrange one 0 -1 #查看列表中的数据 从头到尾
#数据pop
lpop one #取出并删除 6 # 5 4 3 2 1
rpop one #取出并删除 1 # 5 4 3 2
#数据插入
linsert two before 4 a # 在4之前插入a # 1 2 3 a 4 5 6
linsert two after 6 b #在6之后插入b # 1 2 3 a 4 5 6 b
linsert two before 1 a #在1之前插入a # a 1 2 3 a 4 5 6 b
#数据设置
lset two 0 A # 设置下标0的值为A # A 1 2 3 a 4 5 6 b
#数据删除 rpush num 1 2 3 4 5 6 5 4 3 # 1 2 3 4 5 6 5 4 3
lrem num 1 4 # 删除数组two中左数的第一个的值4 # 1 2 3 5 6 5 4 3
lrem num -1 5 # 删除数组two中右数的第一个的值5 # 1 2 3 5 6 4 3
lrem two 0 3 #删除数组two中所有的值3 # 1 2 5 6 4
"""set(无序集合)的操作,与list类似"""
sadd set1 1 2 3 4 5 # 设置值 #12345
smembers set1 # 查看值
srem set1 3 4 # 删除值 # 125
sismember set1 2 # 查看set中是否有值2 存在返回1 不存在返回0
"""zset(有序集合 有权重)的操作"""
zadd zset1 4 a 3 b 2 c 5 d 1 e # 设置集合的权重
zrange zset1 0 -1 # 按权重展示值 # ecbad
zrangebyscore zset1 2 4 # 查看权重在2-4之间的值 cba
zscore zset1 b # 查看值b的权重 # 3
zrem zset1 b # 删除值b # ecad
zremrangebyscore zset1 2 4 #删除权重在2-4间的值 # ed
redis与python
# 安装redis
# pip install redis -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com
import redis
# 链接数据库
client= redis.StrictRedis(host='127.0.0.1',port=6379,db=3)
# 设置key
key = 'py1'
# 数据操作
result= client.set(key,1) # 增 改
result = client.delete(key) #删
result = client.get(key) #查 返回bytes
result = client.keys() #查 返回bytes
print(result)
redis主从服务器配置
# 简介
# master中写入数据
# slave中读取数据
# 配置服务器比例:master:slave = 1 :10
# 配置当前电脑为master
1、查看当前网络地址
2、redis.conf文件中修改 bind为当前网络地址192.168.20.5
3、重启服务器
# 配置当前电脑的slave服务器
1、复制 redis.conf 重命名为slave.conf
2、修改 slave.conf
bind:192.168.20.5
slaveof:192.168.20.5:6379
port:6378
3、重启 redis-server slave.conf
# redis-cli -h 192.168.20.5 info Relication 查看信息
# redis-cli -h 192.168.20.5 -p 6379
# redis-cli -h 192.168.20.5 -p 6378