Python 数据库开发实战 - Redis命令行客户端与图形客户端的简单使用

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: Python 数据库开发实战 - Redis命令行客户端与图形客户端的简单使用

上一章节我们已经启动了 redis 服务器,在这一章节我们就爱你过来学习 redis命令行客户端与图形客户端的简单使用,以及 redis 的 一些关键参数。


Redis 命令行客户端 - redis-cli



redis-cli 是 Redis 自带的 命令行终端界面,一个简单的程序,允许直接从终端向Redis发送命令,并读取服务器发送的回复。(界面简陋)


redis数据库对命令大小写不敏感,ping、Ping、PING是同一个命令


redis数据库对变量大小写敏感,A、a是两个变量


默认情况下, Redis 有16个逻辑库(0~15) 都是空的 可以存储数据 使用 " select <id> " 切换到指定id的逻辑库 如下:

select 0 
# 切换到 0 逻辑库


连接本地的Redis

redis 默认端口号6379,默认auth(密码)为空,输入以下命令即可连接

redis-cli 是 redis 安装的时候自带的命令行客户端,使用如下命令连接 redis

redis-cli -h 127.0.0.1 -p 6379


# -h : host - ip地址

# -p : port - 端口号

# -a : auth - 密码;存在密码的情况下使用,当前默认状态没有密码,所以省略了。


连接成功后,使用 ping 命令与 redis服务端 做心跳测试,服务端正常会返回 pong  


e40b6a0c0ca844abafe6e667aa442c79.png


命令行终端 - Redis的简单操作

命令行终端执行内容如下:


❯ redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379> select 0
OK
127.0.0.1:6379> set city ShangHai
OK
127.0.0.1:6379> get city

"ShangHai"
127.0.0.1:6379> del city
(integer) 1
127.0.0.1:6379> get city
(nil)
127.0.0.1:6379>


redis-cli -h 127.0.0.1 -p 6379 :连接本地redis

select 0 : 切换到id为 0 的逻辑库

set city ShangHai : 利用 set 命令 创建 {"city": "ShangHai"} 键值对

get city : 获取 city 键值对的 value

del city : 删除 city 键值对


6613fc27c5b84faba96f0c2b469eb0a1.png


Redis 图形客户端 - RedisDesktopManager - [RDM]

GitHub上的大神编写了Redis的图形化桌面客户端,地址: https://github.com/uglide/RedisDesktopManager
注意事项:该仓库提供的是 RedisDesktopManager的源码,并未提供windows安装包。
不过大家也不用担心,我已经将 windows安装包 与 mac安装包 已经打包好了,点击下载即可。


RedisDesktopManager 安装


  • 安装过程很简单,解压缩后,运行安装程序即可安装。
  • 需要注意的是,windows安装包安装完成之后在安装目录下找到 rdm.exe 文件 运行即可启动 RedisDesktopManager (双击即可运行)


67e0cafb21244d19b4f8a62a46fd0acb.png


连接本地的Redis(图形界面)



48f64ccd68d7468cae329eb28fe4e502.png




5b7582ae18b94953a8387cd2308b22c4.png






c7415bb59afe4090bc86fc33a110347e.png




3669eee227a34c32a7582475b6c39bc1.png


Redis 的持久化

Redis 数据库是利用缓存来存储数据,就不得不担心,万一断电的情况下,岂不是数据都要丢失掉?
其实大可不必,Redis 在最初的设计阶段就想到了这个问题。所以 Redis 内置了两种的持久化方案:
RDB方案:定期的将内存中的数据保存到硬盘里面,并不是每次对 Redis 做出的修改操作会立即被保存到硬盘里,而是设定了一个触发条件,满足触发条件的情况下,才会将数据缓存到硬盘。(比如说一分钟内,数据写入超过了10000次,就会触发数据的同步。)
AOF方案:这种方案是利用日志的方式来记录数据的写入,写入一条数据,日志就记录一条。当 Redis 服务 出现意外宕机的情况,重启之后,重新执行一下 AOF日志 就可以恢复数据了。(AOF 这种方案实现了 RDB 不能持久化的问题。)
RDB方案 与 AOF方案 的开启都是需要在配置文件里设置的,也不仅仅是开启 "持久化" 这种方案需要用到 "Redis" 的配置文件。比如说 "修改端口号"、"设置 Redis 内存大小" 等等都需要用到 "配置文件" 。


关于 " Redis 配置文件" 的相关知识点,将在下一章节的内容进行详细的讲解


















相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore &nbsp; &nbsp; ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库&nbsp;ECS 实例和一台目标数据库&nbsp;RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&amp;RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
4天前
|
存储 NoSQL MongoDB
MongoDB数据库转换为表格文件的Python实现
MongoDB数据库转换为表格文件的Python实现
36 0
|
1天前
|
网络协议 Python
Python 网络编程实战:构建高效的网络应用
【5月更文挑战第18天】Python在数字化时代成为构建网络应用的热门语言,因其简洁的语法和强大功能。本文介绍了网络编程基础知识,包括TCP和UDP套接字,强调异步编程、数据压缩和连接池的关键作用。提供了一个简单的TCP服务器和客户端代码示例,并提及优化与改进方向,鼓励读者通过实践提升网络应用性能。
18 6
|
1天前
|
算法 Java Python
【Python 的内存管理机制专栏】Python 内存管理实战:性能优化与内存泄漏检测
【5月更文挑战第18天】Python内存管理关乎程序性能与稳定性。优化包括避免过多临时对象,如优化列表推导式减少对象创建。警惕循环引用造成的内存泄漏,如示例中的Node类。使用`gc`模块检测泄漏,通过`gc.set_debug(gc.DEBUG_LEAK)`和`gc.collect()`获取信息。实践中需持续分析内存使用,优化算法、数据结构和资源释放,以提升程序质量与效率。
【Python 的内存管理机制专栏】Python 内存管理实战:性能优化与内存泄漏检测
|
1天前
|
程序员 Python
python学习1:安装注意事项(1),2024年最新3个月学会Python开发
python学习1:安装注意事项(1),2024年最新3个月学会Python开发
python学习1:安装注意事项(1),2024年最新3个月学会Python开发
|
3天前
|
SQL 关系型数据库 数据库
Python——数据库操作
Python——数据库操作
16 2
|
4天前
|
存储 缓存 监控
利用Python和Flask构建RESTful API的实战指南
在当今的软件开发中,RESTful API已成为前后端分离架构中的核心组件。本文将带你走进实战,通过Python的Flask框架,一步步构建出高效、安全的RESTful API。我们将从项目初始化、路由设置、数据验证、错误处理到API文档生成,全方位地探讨如何构建RESTful API,并给出一些实用的最佳实践和优化建议。
|
4天前
|
JSON 缓存 Java
|
4天前
|
Python
Python自动化办公实战案例:文件整理与邮件发送
Python自动化办公实战案例:文件整理与邮件发送
8 0
|
4天前
|
关系型数据库 MySQL 数据库
docker MySQL删除数据库时的错误(errno: 39)
docker MySQL删除数据库时的错误(errno: 39)
24 0
|
4天前
|
Java 关系型数据库 MySQL
【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口(下)
【MySQL × SpringBoot 突发奇想】全面实现流程 · xlsx文件,Excel表格导入数据库的接口
13 0