跳转至

Redis_01-PY连接配置与基本语法

安装Redis

  • step1:下载
    wget <http://download.redis.io/releases/redis-4.0.9.tar.gz>
  • step2:解压
    tar xzf redis-4.0.9.tar.gz
  • step3:移动文件,放到usr/local⽬录下
    sudo mv ./redis-4.0.9 /usr/local/redis/
  • step4:进⼊redis⽬录
    cd /usr/local/redis/
  • step5:生成编译
    sudo make
  • step6:测试,这段运⾏时间会较⻓
    sudo make test
  • step7:安装,将redis的命令安装到/usr/local/bin/⽬录
    sudo make install
  • step8:安装完成后,我们进入目录/usr/local/bin中查看
    cd /usr/local/bin
    ls -all
  • 启动服务端
redis-server
  • 启动客户端
redis-cli
  • 关闭终结服务端
ps aux | grep redis    先查看redis-server的pid
sudo kill -9 pid
  • step9:配置⽂件,移动到/etc/⽬录下
    配置录为/usr/local/redis/redis.conf
    sudo cp /usr/local/redis/redis.conf /etc/redis/如果etc目录下没有redis文件需要手动创建

redis-py

  • python中独立的redis包:

  • install redis

开启远程访问

  1. 打开 /etc/redis/redis.conf
  2. 注释掉bind127.0.0.1
  3. 找到 protected-mode yes 改为 protected-mode no
  4. 保存之后重启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 删除元素