【NoSQL】NoSQL之redis安装及配置与优化(简单操作)(一)

本文涉及的产品
云数据库 Tair(兼容Redis),内存型 2GB
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 【NoSQL】NoSQL之redis安装及配置与优化(简单操作)(一)

六、Redis命令工具


rdb 和 aof 是redis服务中持久化功能的两种形式
redis-cli常用于登陆至redis数据库
redis-server    用于启动 Redis 的工具
redis-benchmark   用于检测 Redis 在本机的运行效率
redis-check-aof   修复 AOF 持久化文件
redis-check-rdb   修复 RDB 持久化文件
redis-cli     Redis命令行工具


6.1:redis-cli 命令行工具(远程登录)

redis-cli语法


redis-cli -h host -p port -a password
#选项:
  -h :指定远程主机
  -p :指定Redis 服务的端口号
  -a :指定密码,未设置数据库密码可以省略-a选项
  -n :指定进入库的序列号
若不添加任何选项表示,则使用127.0.0.1:6379 连接本机上的 Redis 数据库,
 #示例
redis-cli -h 192.168.145.20 -p 6379



此时无密码,不需要-a直接登陆


6.2:redis-benchmark 测试工具

redis-benchmark 是官方自带的 Redis 性能测试工具,可以有效的测试 Redis 服务的性能。

#语法
redis-benchmark [选项] [选项值]
选项 作用
-h 指定服务器主机名
-p 指定服务器端口
-s 指定服务器socket(套接字)
-c 指定并发连接数
-n 指定请求数
-d 以字节的形式指定SET/GET值的数据大小
-k 1=keep alive O=reconnect
-r SET/GET/INCR使用随机key,SADD使用随机值
-P 通过管道传输请求
-q 强制退出redis。仅显示querylsec值
-csv 以csv格式输出
-1 生成循环,永久执行测试
-t 仅运行以逗号分隔的测试命令列表
-l l dle模式。仅打开N个idle连接并等待

示例1: 向IP地址为192.168.137.20、端口为6379的Redis服务器发送100个并发连接与100000个请求测试性能


redis-benchmark -h 192.168.145.10 -p 6379 -c 100 -n 100000

在这里插入图片描述



示例2:测试存取大小为100字节的数据包的性能


redis-benchmark -h 192.168.145.10 -p 6379 -q -d 100


示例3:测试本机上Redis 服务在进行set与lpush操作时的性能


redis-benchmark -t set,lpush -n 100000 -q

七、Redis数据库常用命令

7.1常用命令

set 存放数据,命令格式为 set key value

get 获取数据,命令格式为 get key

keys 命令可以取符合规则的键值列表,通常情况可以结合*、?等选项来使用

exists 命令可以判断键值是否存在

del 命令可以删除当前数据库的指定 key

type 命令可以获取 key 对应的 value 值类型

rename 命令是对已有 key 进行重命名(覆盖)

renamenx 命令的作用是对已有key进行重命名,并检测新名是否存在,如果目标key存在则不进行重命名(不覆盖)

dbsize 命令的作用是查看当前数据库中 key 的数目


命令(红色命令) 解释
set 存放数据
get 获取数据
keys * 获取所有的key
keys s* 以s开头的数据
keys s? 以s开头后面包含任意一位的数据
keys s?? 以s开头后面包含任意二位的数据
exists aaa 判断aaa是否存在(存在:1,不存在:0)
del key 删除当前数据库的key
type key 获取key对应的value值类型
rename key1 key2 将key1修改为key2
renamenx key1 key2 key1修改为key2之前判断key2是否存在,不存在则重命名
dbsize 查看当前数据库中key的数目

7.2示例

7.2.1set、get命令存放、获取数据

set  存放数据,命令格式为 set key value
get  获取数据,命令格式为 get key


7.2.2keys命令取符合规则的键值列表

keys  命令可以取符合规则的键值列表,通常情况可以结合*、?等选项来使用
keys *  查看当前数据库中所有的键
keys h* 查看当前数据库中以h开头的数据
keys a? 查看当前数据库中以a开头后面包含任意一位的数据
keys a??查看当前数据库中以a开头后面包含任意俩位的数据







7.2.3exists命令判断键值是否存在

exists  命令可以判断键值是否存在


7.2.4del命令删除当前数据库的指定key

keys *
del a8
keys *


7.2.5type 命令获取key对应的value值类型

type a1

7.2.6rename命令对已有key进行重命名(覆盖)

rename 源key 目标key

使用rename命令进行重命名时,无论目标key是否存在都进行重命名,且源key的值会覆盖目标key的值。在实际使用过程中,建议先用 exists 命令查看目标 key 是否存在,然后再决定是否执行 rename 命令,以避免覆盖重要数据



7.2.7renamenx已有key进行重命名,并检测新名是否存在,如果目标key存在则不进行重命名。 (不覆盖)

renamenx 源key 目标key
1

7.2.8dbsize命令查看当前数据库中key的数目

dbsize 命令的作用是查看当前数据库中 key 的数目
keys *
dbsize


7.2.9config set requirepass password命令设置密码

使用config set requirepass password命令设置密码 使用config get requirepass命令查看密码(一旦设置密码,必须先验证通过密码,否则所有操作不可用)


config set requirepass 123456  #设置密码
auth 123456 #验证密码
config get requirepass #查看密码




7.2.10删除密码

config set requirepass ''


7.3redis多数据库常用命令

Redis 支持多数据库,Redis 默认情况下包含 16 个数据库,数据库名称是用数字 0-15 来依次命名的


多数据库相互独立,互不干扰


select 序号       多数据库间切换
move 键值 序号    多数据库间移动数据
FLUSHDB          清空当前数据库数据
FLUSHALL         清空所有数据库的数据,慎用!

7.3.1多数据库间切换

命令格式: select 序号
使用redis-cli连接Redis数据库后,默认使用的是序号为0的数据库。
select 10   #切换至序号为10的数据库
select 15    #切换至序号为15的数据库
select 0    #切换至序号为0的数据库

7.3.2多数据库间移动数据

move 键值 数据库序号


7.3.3清除数据库内数据

FLUSHDB :清空当前数据库数据
FLUSHALL :清空所有数据库的数据,慎用!


八、总结


我们需要了解关系型数据库和非关系型数据库的区别,以及它们各自的优点;我们重点要了解redis以及它的基础常用命令:set:存放数据、get:获取数据、keys:可以取符合规则的键值列表、exists:可以判断键值是否存在、del:可以删除当前数据库的指定 key、type:可以获取 key 对应的 value 值类型、rename:对已有 key 进行重命名(覆盖)、renamenx:作用是对已有key进行重命名,并检测新名是否存在,如果目标key存在则不进行重命名(不覆盖)、dbsize:查看当前数据库中 key 的数目


相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
9天前
|
NoSQL 关系型数据库 MySQL
MySQL与Redis协同作战:百万级数据统计优化实践
【10月更文挑战第21天】 在处理大规模数据集时,传统的单体数据库解决方案往往力不从心。MySQL和Redis的组合提供了一种高效的解决方案,通过将数据库操作与高速缓存相结合,可以显著提升数据处理的性能。本文将分享一次实际的优化案例,探讨如何利用MySQL和Redis共同实现百万级数据统计的优化。
36 9
|
5天前
|
存储 SQL 关系型数据库
2024Mysql And Redis基础与进阶操作系列(1)作者——LJS[含MySQL的下载、安装、配置详解步骤及报错对应解决方法]
Mysql And Redis基础与进阶操作系列(1)之[MySQL的下载、安装、配置详解步骤及报错对应解决方法]
|
24天前
|
NoSQL 数据可视化 Linux
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
本文介绍了Redis的两个可视化管理工具:付费的Redis Desktop Manager和免费的Another Redis DeskTop Manager,包括它们的下载、安装和使用方法,以及在使用Another Redis DeskTop Manager连接Redis时可能遇到的问题和解决方案。
79 1
redis学习四、可视化操作工具链接 centos redis,付费Redis Desktop Manager和免费Another Redis DeskTop Manager下载、安装
|
9天前
|
NoSQL 关系型数据库 MySQL
MySQL与Redis协同作战:优化百万数据查询的实战经验
【10月更文挑战第13天】 在处理大规模数据集时,传统的关系型数据库如MySQL可能会遇到性能瓶颈。为了提升数据处理的效率,我们可以结合使用MySQL和Redis,利用两者的优势来优化数据查询。本文将分享一次实战经验,探讨如何通过MySQL与Redis的协同工作来优化百万级数据统计。
29 5
|
17天前
|
NoSQL 关系型数据库 MySQL
MySQL与Redis协同作战:百万数据量的优化实录
【10月更文挑战第6天】 在现代互联网应用中,随着用户量的增加和业务逻辑的复杂化,数据量级迅速增长,这对后端数据库系统提出了严峻的挑战。尤其是当数据量达到百万级别时,传统的数据库解决方案往往会遇到性能瓶颈。本文将分享一次使用MySQL与Redis协同优化大规模数据统计的实战经验。
73 3
|
17天前
|
存储 NoSQL Redis
Redis 配置
10月更文挑战第14天
20 1
|
17天前
|
NoSQL Ubuntu Linux
Redis 安装
10月更文挑战第14天
45 1
|
17天前
|
NoSQL 关系型数据库 BI
记录一次MySQL+Redis实现优化百万数据统计的方式
【10月更文挑战第13天】 在处理百万级数据的统计时,传统的单体数据库往往力不从心,这时结合使用MySQL和Redis可以显著提升性能。以下是一次实际优化案例的详细记录。
79 1
|
21天前
|
NoSQL Linux Redis
Docker学习二(Centos):Docker安装并运行redis(成功运行)
这篇文章介绍了在CentOS系统上使用Docker安装并运行Redis数据库的详细步骤,包括拉取Redis镜像、创建挂载目录、下载配置文件、修改配置以及使用Docker命令运行Redis容器,并检查运行状态和使用Navicat连接Redis。
155 3
|
SQL NoSQL Java
Redis学习---大数据技术之Redis(NoSQL简介、Redis简介、Redis安装、五大数据类型、相关配置、持久化)
Redis学习---大数据技术之Redis(NoSQL简介、Redis简介、Redis安装、五大数据类型、相关配置、持久化)