Redis的基础操作

目录

一、Redis命令工具

1.redis-cli 命令行工具

2.redis-benchmark测试工具

3.Redis数据库五大类型

1、String

2、List

3、Hash(散列类型)

4、set无序集合

5、sorted set

二、Redis数据库常用命令

1、set与get的使用

2.查看数据库中键的情况

2.1 keys命令

2.2 exists命令

2.3 del命令

2.4 type命令

2.5 rename命令

2.6 dbsize命令

2.7 设置密码

3.多数据库间切换

4.清除数据库内数据

4.1 FLUSHDB

4.2 FLUSHALL


一、Redis命令工具

  • redis-server:用于启动 Redis 的工具
  • redis-benchmark:用于检测 Redis 在本机的运行效率
  • redis-check-aof:修复 AOF 持久化文件
  • redis-check-rdb:修复 RDB 持久化文件
  • redis-cli:Redis 命令行工具

1.redis-cli 命令行工具

语法:redis-cli -h host -p port -a password
-h :指定远程主机
-p :指定 Redis 服务的端口号
-a :指定密码,未设置数据库密码可以省略-a 选项

[root@localhost utils]#redis-cli       ##登录本机redis
127.0.0.1:6379> exit
[root@localhost utils]#redis-cli -h 192.168.21.10 -p 6379   ##登录指定主句redis
192.168.10.100:6379>

2.redis-benchmark测试工具

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

基本的测试语法:

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

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

[root@localhost utils]#redis-benchmark -h 192.168.21.10 -p 6379 -c 100 -n 100000

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

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

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

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

3.Redis数据库五大类型

1、String

String是 redis 最基本的类型,最大能存储 512MB 的数据,String类型是二进制安全的,即可以存储任何数据、比如数字、图片、序列化对象等。默认是此数据类型

2、List

列表的元素类型为string,按照插入顺序排序,在列表的头部或尾部添加元素

3、Hash(散列类型)

hash用于存储对象,可以采用这样的命名方式(hash格式):对象类别和ID构成键名,使用字段表示对象的属性,而字段值则存储属性值。

4、set无序集合

元素类型为string类型,元素具有唯一性, 不允许存在重复的成员。多个集合类型之间可以进行并集、交集和差集运算

5、sorted set

a、有序集合,元素类型为Sting,元素具有唯一性, 不能重复。b、每个元素都会关联–个double类型的分数score(表示权重),可以通过权重的大小排序,元素的score可以相同。

二、Redis数据库常用命令

1、set与get的使用

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

[root@localhost utils]#redis-cli -h 192.168.21.10 -p 6379
192.168.21.10:6379> set kysw 32
OK
192.168.21.10:6379> get kysw
"32"
192.168.21.10:6379>

2.查看数据库中键的情况

 keys    命令可以取符合规则的键值列表,通常情况可以结合*、?等选项来使用。exists  命令可以判断键值是否存在。del     命令可以删除当前数据库的指定 key。type    命令可以获取 key 对应的 value 值类型。

2.1 keys命令

192.168.21.10:6379> keys *1) "g22"2) "counter:__rand_int__"3) "g1"4) "mylist"5) "k3"6) "g5"7) "myset:__rand_int__"8) "key:__rand_int__"9) "k1"
10) "k2"

2.2 exists命令

exists  可以判断键值是否存在

1  表示存在

0  表示不存在

2.3 del命令

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

192.168.21.10:6379> keys *1) "g22"2) "counter:__rand_int__"3) "g1"4) "mylist"5) "k3"6) "g5"7) "myset:__rand_int__"8) "key:__rand_int__"9) "k1"
10) "k2"
192.168.21.10:6379> del g1
(integer) 1
192.168.21.10:6379> keys *
1) "g22"
2) "counter:__rand_int__"
3) "mylist"
4) "k3"
5) "g5"
6) "myset:__rand_int__"
7) "key:__rand_int__"
8) "k1"

2.4 type命令

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

192.168.21.10:6379> keys *
1) "g22"
2) "counter:__rand_int__"
3) "mylist"
4) "k3"
5) "g5"
6) "myset:__rand_int__"
7) "key:__rand_int__"
8) "k1"
9) "k2"
192.168.21.10:6379> type k1
string

2.5 rename命令

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

rename 源key 目标key

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

192.168.21.10:6379> keys *
1) "g22"
2) "counter:__rand_int__"
3) "mylist"
4) "k3"
5) "g5"
6) "myset:__rand_int__"
7) "key:__rand_int__"
8) "k1"
9) "k2"
192.168.21.10:6379> get k1
"1"
192.168.21.10:6379> rename k1 k8
OK
192.168.21.10:6379> keys *
1) "g22"
2) "counter:__rand_int__"
3) "mylist"
4) "k3"
5) "g5"
6) "myset:__rand_int__"
7) "key:__rand_int__"
8) "k2"
9) "k8"
192.168.21.10:6379> get k8
"1"

2.6 dbsize命令

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

2.7 设置密码

config set requirepass yourpassword

清空密码

3.多数据库间切换

Redis 支持多数据库,Redis 默认情况下包含 16 个数据库,数据库名称是用数字 0-15 来依次命名的。
多数据库相互独立,互不干扰。

语法:

select 序号

格式:move 键值 序号
192.168.21.10:6379> set k1 100
OK
192.168.21.10:6379> get k1
"100"
192.168.21.10:6379> select 1
OK
192.168.21.10:6379[1]> get k1
(nil)
192.168.21.10:6379[1]> select 0			#切换至目标数据库 0
OK
192.168.21.10:6379> get k1				#查看目标数据是否存在
"100"
192.168.21.10:6379> move k1 1			#将数据库 0 中 k1 移动到数据库 1 中
(integer) 1
192.168.21.10:6379> select 1				#切换至目标数据库 1
OK
192.168.21.10:6379> get k1			#查看被移动数据
"100"
192.168.21.10:6379> select 0
OK
192.168.21.10:6379> get k1				#在数据库 0 中无法查看到 k1 的值
(nil)

4.清除数据库内数据

4.1 FLUSHDB

清空当前数据库数据

4.2 FLUSHALL

清空所有数据库数据,慎用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/588886.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

IT库存管理

计算机资产由软件和硬件组件组成&#xff0c;需要在其整个生命周期内进行监控&#xff0c;IT 库存管理是识别、管理和维护组织的硬件和软件资产的过程&#xff0c;IT 资产的手动编译和核对非常费力且容易出错。 借助 IT 库存管理解决方案&#xff0c;可以跟踪、监控和管理计算…

Rust---复合数据类型之结构体

目录 结构体的使用输出结果 结构体简化创建结构体更新语法元组结构体单元结构体&#xff08;unit struct&#xff09;结构体中的引用使用#[derive(Debug)]再次介绍 代码综合展示 与元组不同的是&#xff0c;结构体可以为内部的每个字段起一个富有含义的名称&#xff0c;因此无需…

llama.cpp运行qwen0.5B

编译llama.cp 参考 下载模型 05b模型下载 转化模型 创建虚拟环境 conda create --prefixD:\miniconda3\envs\llamacpp python3.10 conda activate D:\miniconda3\envs\llamacpp安装所需要的包 cd G:\Cpp\llama.cpp-master pip install -r requirements.txt python conver…

2-PS修改图片颜色

【问题介绍】PS 快速改变图片颜色&#xff0c;可以生成一个系列的可爱作品 如下图&#xff0c;一个可爱的白色云朵蓝色背景 蓝白色冰淇淋 如果我们想要改一改颜色&#xff0c;做出一个系列的绿色冰淇淋、粉色冰淇淋呢&#xff1f; 方法1 【最简单】图像→替换颜色 调整后效果…

Rust vs C++:2024,谁更懂错误处理?

讲动人的故事,写懂人的代码 「席双嘉,听说你的C++项目又因为忘了检查返回值导致内存泄漏,又加班了?」 周五中午,在国内某科技巨头熙熙攘攘的员工餐厅,贾克强半开玩笑地戳了戳坐在隔壁的席双嘉,眼神中满是戏谑。 贾克强,一个热衷于Rust的程序员,总是乐于挑战和探索新…

网站保安大作战:HTML代码加固技术攻略

引言 HTML是网站开发的基础语言&#xff0c;它的安全性直接关系到网站的安全性。为了保障网站的安全性&#xff0c;我们需要加固HTML代码。本文将介绍一些具体方法&#xff0c;帮助你加固HTML代码&#xff0c;提高网站的安全性。 摘要 本文将介绍以下几种方法来加固HTML代码…

36.not comply with the UI component syntax不允许在UI描述里直接使用

不允许在UI描述里直接使用&#xff0c;但可以在方法或者函数里使用 not comply with the UI component syntax. <etsLint> 这里ok:

商标撤销,华为还能“遥遥领先“吗?

华为不再"遥遥领先"? 去年 9 月&#xff0c;华为技术有限公司申请注册两枚「遥遥领先」商标&#xff0c;国际分类为「科学仪器」和「运输工具」。 今年 1 月 20 日&#xff0c;商标流程信息显示&#xff0c;上述两枚商标被撤回注册申请&#xff0c;当前为无效状态。…

openGauss学习笔记-254 openGauss性能调优-使用Plan Hint进行调优-子链接块名的hint

文章目录 openGauss学习笔记-254 openGauss性能调优-使用Plan Hint进行调优-子链接块名的hint254.1 功能描述254.2 语法格式254.3 参数说明254.4 示例 openGauss学习笔记-254 openGauss性能调优-使用Plan Hint进行调优-子链接块名的hint 254.1 功能描述 指明子链接块的名称。…

根据用户角色权限,渲染菜单的一个问题记录

个人博客&#xff1a;无奈何杨&#xff08;wnhyang&#xff09; 个人语雀&#xff1a;wnhyang 共享语雀&#xff1a;在线知识共享 Github&#xff1a;wnhyang - Overview 背景 之前一直讲过自己独立在做一个中后台管理系统&#xff0c;当然这个只是开始&#xff0c;未来会基…

IP地址如何修改?分享操作技巧

在互联网世界中&#xff0c;IP地址是每台计算机或网络设备的唯一标识&#xff0c;它决定了设备在网络中的位置以及与其他设备的通信方式。然而&#xff0c;有时出于特定需求&#xff0c;我们可能需要修改设备的IP地址。虎观代理将详细阐述如何修改IP地址&#xff0c;并探讨在修…

通过nvtx和Nsight Compute分析pytorch算子的耗时

通过nvtx和Nsight Compute分析pytorch算子的耗时 一.效果二.代码 本文演示了如何借助nvtx和Nsight Compute分析pytorch算子的耗时 一.效果 第一次执行,耗时很长 小规模的matmul,调度耗时远大于算子本身 大规模的matmul,对资源的利用率高小规模matmul,各层调用的耗时 二.代码…