搭讪 Redis 的三种姿势:shell、图形工具、PyCharm,牵手成功
发布时间:2026/10/11 8:30:43 锦皓数字建站

文章目录shell 脚本访问 Redis图形工具连接 Redis程序连接 Redispycharm 连接 redis设置和获取值使用字符串操作使用列表操作使用哈希表操作shell 脚本访问 Redis脚本内容write_redis.sh#!/bin/bash# Redis 连接参数可根据需要修改REDIS_HOST127.0.0.1# Redis 服务器地址REDIS_PORT6379# Redis 端口REDIS_DB0# 使用的数据库编号# 写入 100 个键值对for i in {0..99} 为bash循环变量i依次取0到99共100个值foriin{0..99};do# 拼接键名形如 key:0、key:1 …… key:99KEYkey:$i# 拼接值VALUE 取循环变量 i 的值形如 0、1 …… 99VALUE$i# 调用 redis-cli 写入键值对-h 指定Redis服务器地址-p 指定端口-n 指定使用的数据库编号SET 后依次跟键名KEY与值VALUEPDF中 SET $KEY 和 $VALUE 跨两行此处合并为一行redis-cli-h$REDIS_HOST-p$REDIS_PORT-n$REDIS_DBSET$KEY$VALUEdone# 循环结束后打印提示echo 输出一行文字表明100条数据已全部写入echo已成功写入100条数据到 Redis。给脚本添加执行权限# 给脚本添加执行权限chmod x 为文件添加可执行权限write_redis.sh为脚本文件名[rootlocalhost ~]# chmod x write_redis.sh运行脚本# 运行脚本./ 表示执行当前目录下的脚本write_redis.sh为要运行的脚本名[rootlocalhost ~]# ./write_redis.shOK# 一条写入命令执行成功Redis返回OK......OK 已成功写入100条数据到Redis。# 脚本结束时打印的提示表明100条数据已全部写入[rootlocalhost ~]# 可选增强功能带密码认证如果 Redis 设置了密码加上-a your_password注意安全性或使用--askpass。批量管道操作更快如需更高性能可使用redis-cli --pipe批量导入适合大量数据。图形工具连接 RedisRedis Desktop Manager 又名 RDM它是一款用于 WindowsLinux 和 MacOS 的快速开源 Redis 数据库管理应用程序能够为用户提供一系列功能选择以及操作设定以便于用户直接对需要管理的 Redis 数据库进行建设性操作以树形的方式来罗列出密匙以及 CRUD 密钥可节约用户的很多宝贵时间此工具支持识别 shell 命令管理员能够根据自己的需要添加 shel以此让程序系统执行对应的命令操作它为用户提供中文显示界面同时还提供了通俗易懂的用户界面无论是新手用户还可以经验十足的用户都可以非常轻松的上手。Github 地址https://github.com/qishibo/AnotherRedisDesktopManager验证结果# 验证数据写入结果info keyspace 查看各数据库的键空间统计信息127.0.0.1:6379info keyspace# Keyspacedb0:keys100,expires0,avg_ttl0# 0号库共有100个键均未设置过期时间平均TTL为0# keys pattern按模式批量查找匹配的键key:* 匹配所有以key:开头的键127.0.0.1:6379keys key:*需要提前在 redis 服务器上配置 redis 密码和关闭防火墙更改 bind 地址程序连接 RedisRedis 支持多种开发语言访问# 关闭防火墙systemctl stop firewalld 停止firewalld防火墙服务避免其拦截Redis端口[rootlocalhost ~]# systemctl stop firewalld# 编辑Redis配置文件vim /etc/redis.conf 用vim编辑器打开Redis主配置文件[rootlocalhost ~]# vim /etc/redis.conf # 第69行绑定地址改为允许所有bind 0.0.0.0 表示监听本机所有网卡地址允许任意IP远程连接bind0.0.0.0# 重启Redis服务systemctl restart redis 重启redis服务使配置生效[rootlocalhost ~]# systemctl restart redis# 设置Redis密码为123456CONFIG SET requirepass 123456 动态设置访问密码requirepass为密码配置项127.0.0.1:6379CONFIG SET requirepass123456OK# 密码设置成功Redis 官方客户端列表地址https://redis.io/docs/latest/develop/clients/pycharm 连接 redis基本语句pythonpython 提供了多种开发库都可以支持连接访问 Redis下面选择使用 redis-py 库连接 redisredis-py 使用手册# redis-py 使用手册https://redis.io/docs/latest/develop/clients/redis-py/# 安装redis-py库pip install redis 用pip包管理器安装Python的Redis客户端库redis-pypipinstallredis解释# 导入redis模块这是Python操作Redis的官方客户端库需提前安装pip install redisimportredis# 创建一个Redis客户端对象r用于与远程Redis服务器通信host: Redis服务器IP地址这里是局域网中的192.168.108.172port: Redis默认端口6379password: 认证密码123456说明Redis配置了requirepass 123456db: 使用第0号数据库Redis默认有16个逻辑数据库编号0~15rredis.Redis(host192.168.108.172,port6379,password123456,db0)# 打印Redis客户端对象的描述信息用于调试确认连接配置是否正确print(r)接收 set 操作的返回值redis-py版本与r.set(...)成功时的返回值对照redis-py 版本r.set() 成功返回值4.0.0 及以上当前主流版本True布尔值✅3.x 及更早bOK字节串注意文件不要为redis.py会和 redis 模块名称冲突。解释# 调用set()方法向Redis中设置一个字符串类型的键值对# 键keycolor1值valuered# 相当于在Redis CLI中执行SET color1 redresultr.set(color1,red)# r.set()的返回值说明# 自redis-py 4.0起为了更符合Python习惯成功操作统一返回True失败则抛出异常如连接错误、认证失败等print(result)完整代码# 导入redis模块即Python的Redis客户端库importredis# 创建Redis客户端对象rhost为服务器IPport为端口6379password为认证密码123456db指定使用0号数据库rredis.Redis(host192.168.108.172,port6379,password123456,db0)# 打印客户端对象用于调试确认连接配置是否正确print(r)# 接收set操作的返回值r.set(color1,red) 写入字符串键值对 color1redresultr.set(color1,red)# 打印set操作的返回值print(result)# 输出 True或 OK取决于 redis-py 版本设置和获取值可以使用set和get方法来存储和检索数据使用字符串操作redis-py 提供了多种字符串操作方法如incr增加decr减少append追加等。# 存储变量r.set(color1,red) 写入字符串键color1值为redr.set(color1,red)# 获取变量值r.get(color1) 读取键color1的值返回bytes类型valuer.get(color1)# 打印读取到的值print(value)# 写入键int1初始值为10Redis中以字符串数字存储r.set(int1,10)# 自增r.incr(int1) 将键int1的值加1并返回自增后的结果restultr.incr(int1)# 自减r.decr(int1) 将键int1的值减1并返回自减后的结果restultr.decr(int1)# 打印自增自减后的最终结果print(restult)使用列表操作Redis 的列表是一个简单的字符串列表可以进行lpush从左边插入、rpush从右边插入、lpop从左边弹出、rpop从右边弹出等操作。注释# 使用LPUSH命令将字符串nihao从左侧头部推入名为mylist的列表r.lpush(mylist,nihao)列表操作代码# 列表r.lpush 从左侧头部向列表mylist推入元素nihaor.lpush(mylist,nihao)# 再次从左侧推入laogao头插使其排在列表最前面r.lpush(mylist,laogao)# r.lrange(mylist,0,-1) 取列表全部元素0到-1表示从头到尾打印结果print(r.lrange(mylist,0,-1))如果 mylist 不存在Redis 会自动创建它。执行后mylist 内容为[nihao]# 再次使用LPUSH将laogao插入到列表最左边# 列表是头进所以新元素在前# 此时mylist内容变为[laogao, nihao]r.lpush(mylist,laogao)# 使用LRANGE命令获取列表mylist中从索引0到-1即全部元素的内容# 在Redis中-1表示最后一个元素0是第一个# r.lrange(...)返回的是字节串bytes组成的列表因为Redis存储的是二进制安全的字符串print(r.lrange(mylist,0,-1)) 小知识Redis 列表是左进右出还是右进左出LPUSH从左边插入 → 新元素在头部RPUSH从右边插入 → 新元素在尾部列表索引0是最左边最新插入的 LPUSH 元素-1是最右边最早插入的输出[blaogao, bnihao]注意每个字符串前面有b...表示这是 bytes 类型不是普通字符串str。使用哈希表操作Redis 的哈希表是一个字符串字段和字符串值之间的映射表可以进行hset设置字段、hget获取字段、hgetall获取所有字段和值等操作。# 在名为student的哈希表Hash中设置字段fieldname的值为lisi# 相当于执行Redis命令HSET student name lisir.hset(student,name,lisi)# 在同一个哈希表student中再设置字段age的值为18# 注意Redis中所有值都是字符串即使看起来像数字如18存储时也是字符串类型r.hset(student,age,18)# 获取哈希表student中字段name的值# 返回值是bytes类型因为redis-py默认返回字节# 输出blisiprint(r.hget(student,name))# 获取age字段的值# 输出b18print(r.hget(student,age))# 获取student哈希表中所有字段和值# 返回一个字典dict但键和值都是bytes类型print(r.hgetall(student))完整代码# 哈希r.hset 向哈希表student中设置字段等价于HSET命令r.hset(student,name,lisi)# 再设置age字段值为18r.hset(student,age,18)# 读取name字段的值返回blisiprint(r.hget(student,name))# 读取age字段的值返回b18print(r.hget(student,age))# 读取student的全部字段与值返回由bytes组成的字典print(r.hgetall(student))
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。