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

本文涉及的产品
云数据库 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
相关文章
|
10天前
|
NoSQL Linux Redis
linux 下和win下安装redis 并添加开机自启 图文详解
linux 下和win下安装redis 并添加开机自启 图文详解
15 0
|
15天前
|
存储 消息中间件 NoSQL
Redis数据类型详解:选择合适的数据结构优化你的应用
Redis数据类型详解:选择合适的数据结构优化你的应用
|
1月前
|
NoSQL Linux Redis
Linux系统中安装redis+redis后台启动+常见相关配置
Linux系统中安装redis+redis后台启动+常见相关配置
|
17天前
|
NoSQL Linux Redis
Linux安装Redis
Linux安装Redis
26 0
|
22天前
|
存储 NoSQL Java
Redis 数据结构操作入门
Redis 数据结构操作入门
15 0
|
30天前
|
NoSQL 关系型数据库 MySQL
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
193 0
|
1月前
|
缓存 NoSQL 数据库
[Redis]——数据一致性,先操作数据库,还是先更新缓存?
[Redis]——数据一致性,先操作数据库,还是先更新缓存?
|
1月前
|
存储 缓存 NoSQL
探索Redis的多样应用场景:加速和优化现代应用
探索Redis的多样应用场景:加速和优化现代应用
33 2
|
1月前
|
存储 NoSQL Redis
如何在Python中操作Redis数据库
如何在Python中操作Redis数据库
28 0
|
1月前
|
NoSQL 算法 数据管理
【Redis】Redis配置参数详解:优化过期删除机制
【Redis】Redis配置参数详解:优化过期删除机制
63 0

热门文章

最新文章