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>