redis-docker-python

1 启动

1.1 服务端

docker exec -it myredis /bin/bash
redis-server

1.2 客户端

# method 1
docker exec -it myredis redis-cli
# method 2
docker exec -it myredis /bin/bash
redis-cli
redis-cli --raw 可以查看中文字符,不转义

2 命令

2.1 字符串

# 设置字符串
set key value
setnx key value 当key不存在设置
# 获取value
get key
# 查看所有的key
keys *
# 查看以n结尾的key
keys *n
# 判断是否存在key
exists key
# 删除所有key
flushall
# 设置key的过期时间
expire <已经存在的key> <秒数>
setex key <秒数> value
# 查看还剩多久过期  -1:没设置,-2:已过期
ttl key

python 实现

# mystr.py

import redis
from config import settings

client = redis.StrictRedis(
    host=settings.REDIS_HOST,
    port=settings.REDIS_PORT,
    password=settings.REDIS_PASSWORD,
)
if __name__ == '__main__':
    print(client.set("age", 32))
    print(client.set("name", "zkn"))

    print(client.keys('name'))
    print(client.get('name').decode('utf-8'))
    print(client.get('age'))
    print(client.keys("*"))
    print(client.keys("*me"))
    print(client.exists("name"))
    print(client.delete("name"))
    print(client.flushall())
    print(client.exists("name"))
    print(client.setex("time", 20, time.time()))
    print(client.get("time"))
    print(client.ttl("time"))
    print(client.ttl("time"))

2.2 列表

# 添加列表
# l:表示从左边添加,r:表示从右边添加
lpush mylist a  
rpush mylist b, c, d

# 读取列别
# 从指定范围读取 list 中的数据,默认从左到右,左一:0;右一:-1
lrange mylist 0, -1

# 删除元素
# lpop:从左右删除 num 个; 
# rpop:从右边删除 num 个
# ltrim:删除不在<st> <end>之间的元素
lpop mylist <num>
rpop mylist <num>
ltrim mylist <st> <end>
# 查看列表长度
llen mylist

python 实现

from app.myredis.mystr import client

print(client.lrange("mylist", 0, -1))
print(client.lpush('mylist', 'hello'))
print(client.lpush('mylist', 'world'))
print(client.lrange("mylist", 0, -1))
print(client.lpop("mylist"))
print(client.lrange("mylist", 0, -1))
print(client.rpop("mylist"))
print(client.lrange("mylist", 0, -1))
print(client.lpush("mylist", "a", "b", "c"))
print(client.rpush("mylist", "right"))
print(client.lpop("mylist", 2))
print(client.lrange("mylist", 0, -1))
print(client.llen("mylist"))
print(client.ltrim("mylist", 1, 3))
print(client.lrange("mylist", 0, -1))

2.3 集合

# 添加元素
sadd myset python

# 查看元素
smembers myset

# 查看你元素是否存在集合
sismember myset python

# 删除元素
srem myset python

# 集合交集
sinter myset01 myset02

# 集合并集
sunion myset01 myset02

# 集合补集
sdiff myset01 myset02

python 实现

from app.myredis.mystr import client


print(client.sadd('myset', 'python', 'redis'))
print(client.smembers('myset'))
print(client.sismember('myset', 'python'))
print(client.sismember('myset', 'go'))
print(client.srem('myset', 'redis'))
print(client.smembers('myset'))
print(client.sadd('myset01', 'python', 'go'))
print(client.keys())
print(client.smembers('myset'))
print(client.smembers('myset01'))
print(client.sinter('myset01', 'myset'))
print(client.sunion('myset01', 'myset'))
print(client.sdiff('myset01', 'myset'))

9 python redis

import redis
from config import settings

client = redis.StrictRedis(
    host=settings.REDIS_HOST,
    port=settings.REDIS_PORT,
    password=settings.REDIS_PASSWORD,
)
client.<func>
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值