Redis是一种开源的内存数据库,它可以用作缓存、消息代理、持久化存储等多种用途。
Redis启动服务器 redis-Server 配置文件路径
客户端连接服务器 redis-cli -h主机ip
redis-cli -a密码
五种数据类型操作(python)
# 导入模块
import redis
# print(redis)
# 构建连接
client = redis.StrictRedis(password="123456")
# 数据类型 字符串
# 设置单个
# r = client.set("s2", "hi world s2")
# print(r)
# 获取单个
# r = client.get("s2")
# print(r, type(r))
# 设置多个
# r = client.mset({"s3": "s33", "s4": "s44", "s5": "s55"})
# print(r)
# 获取多个
# r = client.mget(["s3", "s4", "s5"])
# print(r)
# r = client.set("s6", "100")
# print(r)、
# 自增加1
# r = client.incr("s6")
# print(r)
# 加 增量
# r = client.incrby("s6", 10)
# print(r)
# 减1
# r = client.decr("s6")
# print(r)
# 减 增量
# r = client.decrby("s6", 10)
# print(r)
# 设置带有效期的
# r = client.setex("s7", 10, "s77")
# print(r)
# 删除键
# r = client.delete("s6")
# print(r)
# 在原始数据后拼接
# r = client.append("s5", "77777")
# print(r)
# r = client.get("s4")
# print(r)
# r = client.strlen("s5")
# print(r)
# r = client.setnx("s44", "s4")
# print(r)
# 键相关操作
# 查看键是否存在
# r = client.exists("s33")
# print(r)
# 设置有效期
# r = client.expire("s3", 50)
# print(r)
# 查看剩余时间
# r = client.ttl("s3")
# print(r)
# 查看键对应值类型
# r = client.type("s3")
# print(r)
# 返回所有键
# r = client.keys()
# print(r)
# 哈希 键(redis键) 字段(hash中的键) 值(hash中的值)
# 添加键值对
# r = client.hset("h2", "k11", "v1111")
# print(r)
# 获取键对应的值
# r = client.hget("h2", "k1")
# print(r)
# 添加多个键值对
# r = client.hmset("h2", {"k2": "v2", "k3": "v3"})
# print(r)
# 获取列表中字段对应的值
# r = client.hmget("h2", ["k2", "k3", "k1", "k11"])
# print(r)
# 字段的值 增加增量
# r = client.hincrby("h2", "k4", 100)
# r = client.hincrby("h2", "k4", -100)
# print(r)
# 删除字段
# r = client.hdel("h2", "k4")
# print(r)
# 判断字段是否存在
# r = client.hexists("h2", "k4")
# print(r)
# 所有的字段与值
# r = client.hgetall("h2")
# print(r)
# 所有字段
# r = client.hkeys("h2")
# print(r)
# 所有字段的值
# r = client.hvals("h2")
# print(r)
# 返回字段长度
# r = client.hlen("h2")
# print(r)
# 集合
# r = client.sadd("set2", 100, 200, 300, 400, 500)
# print(r)
# r = client.srem("set2", "200")
# print(r)
# r = client.spop("set2")
# print(r)
# r = client.srandmember("set2", 2)
# print(r)
#
# r = client.smembers("set2")
# print(r)
# r = client.sismember("set2", "100")
# print(r)
# r = client.scard("set2")
# print(r)
# r = client.sadd("set3", 400,500,600,700)
# print(r)
# r = client.sinter(["set2", "set3"])
# print(r)
# r = client.sunion(["set2", "set3"])
# print(r)
# r = client.sdiff(["set2", "set3"])
# print(r)
# r = client.sinterstore("set4", ["set2", "set3"])
# print(r)
# r = client.smembers("set4")
# print(r)
# r = client.sunionstore("set5", ["set2", "set3"])
# print(r)
# r = client.smembers("set5")
# print(r)
# r = client.sdiffstore("set6", ["set2", "set3"])
# print(r)
#
# r = client.smembers("set6")
# print(r)
# 有序集合
# r = client.zadd("zset2", {"v1": 10, "v2": 20, "v3": 30, "v4": 40, "v5": 50})
# print(r)
# r = client.zrem("zset2", "v1", "v2")
# print(r)
# r = client.zrange("zset2", 0, 4, withscores=True)
# print(r)
# r = client.zrevrange("zset2", 0, 2, withscores=True)
# print(r)
# r = client.zrangebyscore("zset2", 0, 100, withscores=True)
# print(r)
# r = client.zrevrangebyscore("zset2", 100, 0, withscores=True)
# print(r)
# r = client.zcard("zset2")
# print(r)
# r = client.zcount("zset2", 10, 100)
# print(r)
# r = client.zscore("zset2", "v5")
# print(r)
# r = client.zincrby("zset2", 50, "v5")
# print(r)
# r = client.zadd("zset3", {"v5": 500, "v6": 400, "v7": 300})
# print(r)
# 列表
# r = client.lpush("l2", 1, 3, 5)
# print(r)
# r = client.rpush("l2", 0, -1, -3, -5, -7)
# print(r)
# r = client.lpop("l2")
# print(r)
# r = client.rpop("l2")
# print(r)
# r = client.linsert("l2", "before", "0", "0.5")
# print(r)
# r = client.linsert("l2", "after", "0", "-0.5")
# print(r)
# r = client.lset("l2", 4, "-30")
# print(r)
# r = client.lrem("l2", 2, "-30")
# print(r)
# r = client.ltrim("l2", 2, 4)
# print(r)
# r = client.llen("l2")
# print(r)
# r = client.lrange("l2", 0, 100)
# print(r)
# r = client.lindex("l2", 0)
# print(r)
# 释放连接
client.close()