python操作redis练习

本文详细介绍了如何使用Python操作Redis数据库,包括基本的键值对操作、字符串设置超时、批量设置值、队列操作、集合及有序集合的使用,涵盖了Redis在实际应用中的常见场景。

备忘录:
        练习,即可。
1.测试代码

from redis import *
class RedisUtils:

    def __init__(self,host='127.0.0.1',port=6379):
        self.redis = StrictRedis(host,port)

    def get(self,key):
        """获取值"""
        return self.redis.get(key)

    def set(self,key,value):
        """设置 key-value"""
        return self.redis.set(key,value)

    def flushAll(self):
        """清空"""
        return self.redis.flushall()

    def getRedis(self):
        return self.redis

def main():
    print("")
    utils =  RedisUtils(host='127.0.0.1',port=6379)

    #测试string
    print("字符串测试:")
    utils.flushAll()
    utils.set("demo01","Hangzhou")
    utils.set("demo02", "Ningbo")
    result1 = utils.get("demo01")
    result2 = utils.get("demo02")
    print(result1,result2)
    #操作字符-设置超时
    utils.getRedis().setex("demo03",value="zhejiang",time=2)
    #批量设置值
    kDict = { 'k1':'Hangzhou','k2':'Ningbo','k3':'Shaoxin'}
    utils.getRedis().mset(kDict)
    kList = ['k1','k2','k3']
    print( utils.getRedis().mget(kList))

    #队列操作
    print("队列测试:")
    utils.flushAll()
    utils.getRedis().lpush("Province",'Zhejiang')
    utils.getRedis().lpush("Province", 'Jiangsu')
    utils.getRedis().lpush("Province", 'Fujian')
    print("长度: ",utils.getRedis().llen("Province"))
    #遍历队列
    while utils.getRedis().llen("Province") >0:
        print(utils.getRedis().lpop("Province"))

    utils.getRedis().rpush("Municipality", 'Beijing')
    utils.getRedis().rpush("Municipality", 'Shanghai')
    utils.getRedis().rpush("Municipality", 'Tianjing')
    utils.getRedis().rpush("Municipality", 'Chongqing')
    print("长度: ", utils.getRedis().llen("Municipality"))
    # 遍历队列
    while utils.getRedis().llen("Municipality") > 0:
        print(utils.getRedis().rpop("Municipality"))

    # 集合操作
    print("集合测试:")
    utils.flushAll()
    utils.getRedis().sadd('Zhejiang','Hangzhou','Ningbo','Shaoxin')
    print("Zhejiang:",utils.getRedis().scard("Zhejiang"))
    # 遍历集合
    while utils.getRedis().scard("Zhejiang") > 0:
        print(utils.getRedis().spop("Zhejiang"))

    #有序集合
    print("有序集合:")
    utils.flushAll()
    sDic ={'Fuzhou':1,'Xiamen':2,'Quanzhou':3}
    utils.getRedis().zadd('Fujian',sDic)
    print("长度: ", utils.getRedis().zcard("Fujian"))
    print(utils.getRedis().zcount('Fujian', 1, 2))
    print(utils.getRedis().zrange("Fujian", start=0, end=1))

if __name__ == '__main__':
    main()

2.导入redis包
        pip3 install redis
        
3.相关指令
3.1登入
        redis-cli.exe -h 127.0.0.1 -p 6379
3.2登入(密码)
        redis-cli.exe -h 127.0.0.1 -p 6379 -a 123456
3.3配置密码,在redis.conf中配置
        requirepass 123456
3.4查看密码
        config get requirepass
3.4配置密码,在命令行
        config set requirepass 123456
auth 123456
3.5清空
        FLUSHALL
以上,感谢。

### Redis 练习题及答案 以下是一些关于 Redis练习题及答案,涵盖 Redis 的核心功能和使用场景: 1. **Redis 支持哪些数据类型?** - Redis 支持多种数据类型,包括字符串(String)、哈希(Hash)、列表(List)、集合(Set)以及有序集合(Sorted Set)。这些数据类型使得 Redis 在处理复杂数据结构时更加灵活[^2]。 2. **如何连接到本地的 Redis 服务器?** - 使用 Jedis 库可以轻松连接到 Redis 服务器。例如: ```java Jedis jedis = new Jedis("127.0.0.1", 6379); ``` 这段代码通过指定 IP 地址和端口号来连接到本地运行的 Redis 服务器[^3]。 3. **如何将查询结果存储到 Redis 中?** - 假设有一个数据库查询结果集 `ResultSet`,可以通过以下方式将其存储到 Redis 中: ```java while (rs.next()) { String userId = rs.getString("id"); String userName = rs.getString("name"); int userAge = rs.getInt("age"); // 存储学生姓名 jedis.hset("student:" + userId, "name", userName); // 存储学生年龄 jedis.hset("student:" + userId, "age", String.valueOf(userAge)); // 将学生 ID 和年龄存入有序集合,按年龄排序 jedis.zadd("studentsByAge", userAge, userId); } ``` 上述代码展示了如何将学生的姓名、年龄等信息存储到 Redis 的哈希和有序集合中[^3]。 4. **Redis 的持久化机制有哪些?** - Redis 提供两种主要的持久化方式:RDB(快照)和 AOF(Append-Only File)。RDB 是在指定的时间间隔内生成数据的快照,而 AOF 则记录每次写操作的日志,以便在重启后恢复数据[^2]。 5. **Redis 的速度为什么比 Memcached 快?** - Redis 的速度更快是因为它不仅支持简单的键值对存储,还支持丰富的数据类型和更复杂的操作。此外,Redis 的持久化能力使其在数据可靠性方面更具优势[^2]。 --- ### Redis 学习教程推荐 以下是几个 Redis 的学习资源推荐,帮助用户更好地掌握 Redis 的使用: 1. **官方文档** - Redis 官方文档是最权威的学习资源之一,涵盖了从基础概念到高级功能的所有内容。地址为 [https://redis.io/documentation](https://redis.io/documentation)。 2. **《Redis 设计与现》** - 这本书深入分析了 Redis 的内部工作机制,适合希望了解 Redis 核心原理的开发者。 3. **在线课程** - 平台如 Coursera、Udemy 和 B站 提供了许多 Redis 的入门和进阶课程,适合不同水平的学习者。 4. **Python 练习笔记** - 如果你使用 Python,可以参考类似“Python练习笔记之Redis练习题及答案”的资料,结合际项目进行练习。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值