Redis_01-PY连接配置与基本语法
安装Redis¶
- step1:下载
- step2:解压
- step3:移动文件,放到usr/local⽬录下
- step4:进⼊redis⽬录
- step5:生成编译
- step6:测试,这段运⾏时间会较⻓
- step7:安装,将redis的命令安装到/usr/local/bin/⽬录
- step8:安装完成后,我们进入目录/usr/local/bin中查看
- 启动服务端
- 启动客户端
- 关闭终结服务端
- step9:配置⽂件,移动到/etc/⽬录下
配置⽂件⽬录为/usr/local/redis/redis.conf
sudo cp /usr/local/redis/redis.conf /etc/redis/如果etc目录下没有redis文件需要手动创建
redis-py¶
-
python中独立的redis包:
-
install redis
开启远程访问¶
- 打开 /etc/redis/redis.conf
- 注释掉
bind127.0.0.1
- 找到 protected-mode yes 改为 protected-mode no
- 保存之后重启redis-server
在python中连接Redis数据库¶
- py中的redis因为版本问题, 推荐使用 strictredis, 内部源码:StrictRedis = Redis
- redis数据库默认取出来的是Byte类型的数据
from redis import StrictRedis
# 创建Redis链接对象
rds_conn = StrictRedis(host='192.168.31.134', port=6379, db=0, decode_responses=True) # 因为从Redis中取出的数据是Byte类型,使用decode_responses=True可以自动为数据进行UTF8编码
# 操作和Redis的原生语法差不错
rds_conn.set('name', 'xiaoming', ex=10) # ex: 过期时间 秒
print(rds_conn.get('name'))
# 注意 哈希类型命名空间的键值对接收的是一个字典
rds_conn.hmset('stu1',{'name':'xiaoming', 'age':20})
# 哈希值取出的时候,需要指定命名空间, 以及需要取出命名空间内的具体的某个k,接收一个列表
print(rds_conn.hmget('stu1', ['age', 'name']))
基本语法¶
- 通用键命令
- del 删除数据
- exists 判断数据是否存在
- expire 设置过期时间
- ttl 获取剩余时间
- keys 查询满足条件的键
- string: 记录字符串/整数/浮点数
- set 添加/修改数据
- get 获取数据
- mset 添加多个数据
- mget 获取多个数据
- incr 计数加1
- decr 计数减1
- incrby 计数加n
- hash: 类似字典的结构
- hset 添加字段
- hget 获取字段
- hmset 添加多个字段
- hmget 获取多个字段
- hdel 删除字段
- list: 是一个双向链表
- lpush 从左侧追加元素
- lrange 从左侧遍历元素
- rpush 从右侧追加元素
- lset 从左侧修改元素
- lpop 从左侧删除元素
- rpop 从右侧删除元素
- ltrim 裁切列表
- zset: 有序集合,按照权重(score)进行排序
- zadd 添加/修改元素
- zrange 遍历元素(按分数从小到大)
- zrevrange 反向遍历元素(从大到小)
- zrangebyscore 遍历指定分数范围的元素
- zscore 查询元素的分数
- zrem 删除元素
- zincrby 元素的分数计数加n
- set: 无序集合 无序+去重
- sadd 添加元素
- smembers 遍历元素
- sismember 判断是否包含
- srem 删除元素