Windows安装Redis客户端及Redis如何使用?

举报
bug菌 发表于 2023/10/11 17:29:51 2023/10/11
【摘要】 🏆本文收录于《Spring Boot从入门到精通》,专门攻坚指数提升,2023 年国内最系统+最强(更新中)。


🏆本文收录于《Spring Boot从入门到精通》,专门攻坚指数提升,2023 年国内最系统+最强(更新中)。

本专栏致力打造最硬核Spring Boot 系列教程,从零基础到进阶系列学习内容,🚀均为全网独家首发,打造精品专栏,专栏持续更新中…欢迎大家订阅持续学习。

环境说明:Windows10 + Idea2021.3.2 + Jdk1.8 + SpringBoot 2.3.1.RELEASE

前言

本文主要介绍Windows平台上如何安装Redis客户端,并使用Redis进行简单的数据操作。Redis是一个开源的key-value存储系统,它支持存储的value类型很丰富,包括string(字符串)、list(链表)、set(集合)、hash(哈希表)和zset(有序集合)等。

摘要

本文将介绍Redis客户端的安装和配置,以及使用Python来操作Redis的方法。

内容

1. 安装Redis客户端

首先,我们需要在Windows平台上安装Redis客户端。Redis官网没有提供Windows平台的官方客户端,但是可以在GitHub上找到一些开源项目,例如Microsoft ArchiveMSOpenTech等。本文使用的是MSOpenTech提供的Redis-x64-3.2.100.zip。

下载后,解压到本地某个目录下,例如d:\redis目录。

在redis目录下,运行redis-server.exe,启动Redis服务。默认情况下,Redis会监听6379端口。

2. 安装Python Redis模块

Python Redis模块提供了在Python中操作Redis的功能,可以通过pip来安装。打开命令行,输入以下命令:

pip install redis

3. Python操作Redis

3.1 连接Redis

在Python脚本中,首先需要创建Redis对象,连接Redis服务:

import redis

r=redis.Redis(host='localhost', port=6379, db=0)

其中,host表示Redis服务所在的主机名,port表示Redis服务所监听的端口号,db表示要使用的数据库编号。默认情况下,Redis有16个数据库,编号从0到15。

3.2 数据操作

3.2.1 字符串操作

字符串是Redis支持的最基本的数据结构。可以使用set方法来将一个字符串存储到Redis中:

r.set('name', 'Tom')

使用get方法可以获取存储在Redis中的字符串:

name=r.get('name')
print(name)
3.2.2 列表操作

列表是一组有序的字符串,可以使用lpush和rpush方法将一个字符串添加到列表的左边或右边。使用lrange方法可以获取列表的所有元素:

r.lpush('list', 'a')
r.lpush('list', 'b')
r.lpush('list', 'c')
r.rpush('list', 'x')
r.rpush('list', 'y')
r.rpush('list', 'z')
l=r.lrange('list', 0, -1)
print(l)
3.2.3 集合操作

集合是一组无序、唯一的字符串,可以使用sadd方法将一个字符串添加到集合中。使用smembers方法获取集合中所有的元素:

r.sadd('set', 'a')
r.sadd('set', 'b')
r.sadd('set', 'c')
r.sadd('set', 'c')
s=r.smembers('set')
print(s)
3.2.4 哈希表操作

哈希表是一组键值对的集合,可以使用hset方法将一个键值对存储到哈希表中。使用hgetall方法获取哈希表中所有的键值对:

r.hset('hash', 'name', 'Tom')
r.hset('hash', 'age', 20)
r.hset('hash', 'sex', 'male')
h=r.hgetall('hash')
print(h)
3.2.5 有序集合操作

有序集合是一组有序的字符串,每个字符串都有一个分数,可以使用zadd方法将一个字符串添加到有序集合中。使用zrange方法获取有序集合中指定范围内的元素:

r.zadd('zset', {'a':1, 'b':2, 'c':3})
r.zadd('zset', {'d':4, 'e':5, 'f':6})
z=r.zrange('zset', 0, -1, withscores=True)
print(z)

4. 测试用例

针对每种数据结构的操作,我们都编写了相应的测试用例。为了方便起见,我们将测试用例统一放在一个Python脚本中,例如test_redis.py:

import redis

r=redis.Redis(host='localhost', port=6379, db=0)

def test_string():
    r.set('name', 'Tom')
    assert r.get('name') == b'Tom'

def test_list():
    r.delete('list')
    r.lpush('list', 'a')
    r.lpush('list', 'b')
    r.lpush('list', 'c')
    r.rpush('list', 'x')
    r.rpush('list', 'y')
    r.rpush('list', 'z')
    l=r.lrange('list', 0, -1)
    assert l == [b'c', b'b', b'a', b'x', b'y', b'z']

def test_set():
    r.delete('set')
    r.sadd('set', 'a')
    r.sadd('set', 'b')
    r.sadd('set', 'c')
    r.sadd('set', 'c')
    s=r.smembers('set')
    assert s == {b'a', b'b', b'c'}

def test_hash():
    r.delete('hash')
    r.hset('hash', 'name', 'Tom')
    r.hset('hash', 'age', 20)
    r.hset('hash', 'sex', 'male')
    h=r.hgetall('hash')
    assert h == {b'name':b'Tom', b'age':b'20', b'sex':b'male'}

def test_zset():
    r.delete('zset')
    r.zadd('zset', {'a':1, 'b':2, 'c':3})
    r.zadd('zset', {'d':4, 'e':5, 'f':6})
    z=r.zrange('zset', 0, -1, withscores=True)
    assert z == [(b'a', 1.0), (b'b', 2.0), (b'c', 3.0), (b'd', 4.0), (b'e', 5.0), (b'f', 6.0)]

test_string()
test_list()
test_set()
test_hash()
test_zset()

5. 全文小结

本文介绍了在Windows平台上安装Redis客户端的方法,以及使用Python来操作Redis的方法。我们通过字符串、列表、集合、哈希表和有序集合等常见数据结构的操作,以及相应的测试用例,全面展示了Redis的使用方法。

附录源码

  如上涉及所有源码均已上传同步在「GitHub」,提供给同学们一对一参考学习,辅助你更迅速的掌握。

☀️建议/推荐你


无论你是计算机专业的学生,还是对编程有兴趣的小伙伴,都建议直接毫无顾忌的学习此专栏「滚雪球学Spring Boot」,从入门到精通,凡是学习此专栏的同学,均能获取到所需的知识和技能,全网最快速入门SpringBoot,就像滚雪球一样,越滚越大,指数级提升。

  最后,如果这篇文章对你有所帮助,帮忙给作者来个一键三连,关注、点赞、收藏,您的支持就是我坚持写作最大的动力。

  同时欢迎大家关注公众号:「猿圈奇妙屋」 ,以便学习更多同类型的技术文章,免费白嫖最新BAT互联网公司面试题、4000G pdf电子书籍、简历模板、技术文章Markdown文档等海量资料。

📣关于我

我是bug菌,CSDN | 掘金 | InfoQ | 51CTO 等社区博客专家,历届博客之星Top30,掘金年度人气作者Top40,51CTO年度博主Top12,华为云 | 阿里云| 腾讯云等社区优质创作者,全网粉丝合计15w+ ;硬核微信公众号「猿圈奇妙屋」,欢迎你的加入!免费白嫖最新BAT互联网公司面试题、4000G pdf电子书籍、简历模板等海量资料。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。