Redis教程:基础知识
目录
1、redis配置
2、redis数据备份与恢复
3、redis性能测试
4、 HyperLogLog 结构
5、Redis发布订阅
6、Redis 事务
7、Redis 服务器
参考:
1、redis配置
- 获取redis配置信息
redis 127.0.0.1:6379> CONFIG GET *
- 编辑配置
redis 127.0.0.1:6379> CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE
2、redis数据备份与恢复
- 备份: 该命令将在 redis 安装目录中创建dump.rdb文件。
redis 127.0.0.1:6379> SAVE
- 恢复数据:只需将备份文件 (dump.rdb) 移动到 redis 安装目录并启动服务即可
redis 127.0.0.1:6379> CONFIG GET dir
1) "dir"
2) "/usr/local/redis/bin"
以上命令 CONFIG GET dir 输出的 redis 安装目录为 /usr/local/redis/bin。
3、redis性能测试
redis 性能测试工具可选参数如下所示:
序号 | 选项 | 描述 | 默认值 |
---|---|---|---|
1 | -h | 指定服务器主机名 | 127.0.0.1 |
2 | -p | 指定服务器端口 | 6379 |
3 | -s | 指定服务器 socket | |
4 | -c | 指定并发连接数 | 50 |
5 | -n | 指定请求数 | 10000 |
6 | -d | 以字节的形式指定 SET/GET 值的数据大小 | 2 |
7 | -k | 1=keep alive 0=reconnect | 1 |
8 | -r | SET/GET/INCR 使用随机 key, SADD 使用随机值 | |
9 | -P | 通过管道传输 <numreq> 请求 | 1 |
10 | -q | 强制退出 redis。仅显示 query/sec 值 | |
11 | --csv | 以 CSV 格式输出 | |
12 | -l | 生成循环,永久执行测试 | |
13 | -t | 仅运行以逗号分隔的测试命令列表。 | |
14 | -I | Idle 模式。仅打开 N 个 idle 连接并等待。 |
实例
以下实例我们使用了多个参数来测试 redis 性能:
user@user2018:~$ redis-benchmark -h 127.0.0.1 -p 6379 -t set,lpush -n 100000 -q
SET: 39416.63 requests per second
LPUSH: 40080.16 requests per second
以上实例中主机为 127.0.0.1,端口号为 6379,执行的命令为 set,lpush,请求数为 10000,通过 -q 参数让结果只显示每秒执行的请求数。
4、 HyperLogLog 结构
什么是基数?
比如数据集 {1, 3, 5, 7, 5, 7, 8}, 那么这个数据集的基数集为 {1, 3, 5 ,7, 8}, 基数(不重复元素)为5。 基数估计就是在误差可接受的范围内,快速计算基数。
示例:
redis 127.0.0.1:6379> PFADD w3ckey "redis"1) (integer) 1redis 127.0.0.1:6379> PFADD w3ckey "mongodb"1) (integer) 1redis 127.0.0.1:6379> PFADD w3ckey "mysql"1) (integer) 1redis 127.0.0.1:6379> PFCOUNT w3ckey(integer) 3
5、Redis发布订阅
Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。
Redis 客户端可以订阅任意数量的频道。
下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系:
当有新消息通过 PUBLISH 命令发送给频道 channel1 时, 这个消息就会被发送给订阅它的三个客户端:
示例:
以下实例演示了发布订阅是如何工作的。在我们实例中我们创建了订阅频道名为 redisChat:
redis 127.0.0.1:6379> SUBSCRIBE redisChatReading messages... (press Ctrl-C to quit)
1) "subscribe"
2) "redisChat"
3) (integer) 1
现在,我们先重新开启个 redis 客户端,然后在同一个频道 redisChat 发布两次消息,订阅者就能接收到消息。
redis 127.0.0.1:6379> PUBLISH redisChat "Redis is a great caching technique"(integer) 1redis 127.0.0.1:6379> PUBLISH redisChat "Learn redis by hust"(integer) 1# 订阅者的客户端会显示如下消息
1) "message"
2) "redisChat"
3) "Redis is a great caching technique"
1) "message"
2) "redisChat"
3) "Learn redis by hust"
6、Redis 事务
Redis 事务可以一次执行多个命令, 并且带有以下两个重要的保证:
- 事务是一个单独的隔离操作:事务中的所有命令都会序列化、按顺序地执行。事务在执行的过程中,不会被其他客户端发送来的命令请求所打断。
- 事务是一个原子操作:事务中的命令要么全部被执行,要么全部都不执行。
一个事务从开始到执行会经历以下三个阶段:
- 开始事务。
- 命令入队。
- 执行事务。
它先以 MULTI 开始一个事务, 然后将多个命令入队到事务中, 最后由 EXEC 命令触发事务, 一并执行事务中的所有命令:
7、Redis 服务器
以下实例演示了如何获取 redis 服务器的统计信息:
redis 127.0.0.1:6379> INFO# Server
redis_version:2.8.13
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:c2238b38b1edb0e2
redis_mode:standalone
os:Linux 3.5.0-48-generic x86_64
arch_bits:64
multiplexing_api:epoll
gcc_version:4.7.2
process_id:3856
run_id:0e61abd297771de3fe812a3c21027732ac9f41fe
tcp_port:6379
uptime_in_seconds:11554
uptime_in_days:0
hz:10
lru_clock:16651447
config_file:
参考:
1、https://www.w3cschool.cn/redis/redis-server.html
2、http://www.redis.com.cn/redis-configuration
Redis教程:基础知识相关推荐
- STM32 CubeMx教程 -- 基础知识及配置使用教程
文章目录 前言 一.STM32CubeMx 界面介绍 File 界面 Windows 界面 Help 界面 Updater Settings 界面 二.STM32CubeMx 使用教程 新建工程 配置 ...
- 软件测试教程基础知识,零基础如何学软件测试
原标题:零基础如何学软件测试 一.软件测试需要哪些知识 很多人都在各大论坛提问"我是零基础该如何学习软件测试".关于这个问题首先应该给零基础定一个范围,到底什么样才是零基础,从来没 ...
- redis入门基础知识(一)
一,介绍redis 1.1 redis的简单介绍 Redis(REmote DIctionary Server):远程字典服务器,redis是开源免费的应用,用ANSI C语言编写,遵守BSD协 ...
- csdn入门测试教程------mysql数据库命令大全以及常用命令 安装教程 基础知识 附【练习题】
前言: mysql数据库是每一个测试小白入行必学的一个知识,学会这些命令呢也能让你在玩转数据库的时候给你提供很多的便利也是很不错的,最后希望各位小伙伴学有所成,心想事成咯, 废话不多说直接上正文. [ ...
- Redis数据库基础知识
关于Reids数据库,有String类型数据,hash类型数据,list型数据,set型数据,zset型数据 String型数据: 增加数据:set key value 删除数据:del key 在已 ...
- python独立网站教程_UC头条:python: 从零到独立建设网站系列教程: 基础知识篇
python3列表 列表的概念 列表由一系列按特定顺序排列的元素组成.在python中,用方括号([ ])来表示列表,并用逗号来分隔其中的元素.你可以创建包含字母表中所有字母.数字0-9或者所有家庭成 ...
- CE修改器使用教程 (基础知识)扫雷逆向复现
Cheat Engine 一般简称CE,是一个开放源代码的游戏修改软件,其功能包括,内存扫描.十六进制编辑器.调试工具,Cheat Engine 自身附带了辅助制作工具,可以用它直接生成窗体工具,CE ...
- Chapter(Redis)(基础知识)
基础知识 安装教程 基础知识 常用命令 数据类型 数据类型(key) 数据类型(string) 数据类型(list) 数据类型(set) 数据类型(hash) 数据类型(zset) 数据类型(bitm ...
- 计算机辅助设计基础试题,CAD基础知识自测题
CAD基础知识自测题 <CAD基础知识自测题(一)>.本套试题共有三部分,分别为选择填空.判断题和解答题.题目都是基础的关于CAD制图的概念,答案也在题目中标明.另一套关于机械 ...
- 在列表前方插入一个数据_通俗易懂的Redis数据结构基础教程
Redis有5个基本数据结构,string.list.hash.set和zset.它们是日常开发中使用频率非常高应用最为广泛的数据结构,把这5个数据结构都吃透了,你就掌握了Redis应用知识的一半了. ...
最新文章
- 【Deep Learning笔记】一个很好的神经网络相关定义(看不懂你来打我)
- mediastream2使用指南(转载)
- HTML 标记大全参考手册
- 有关label标签和单选按钮的注意事项
- 阿里百川SDK初始化失败 错误码是203
- 有加密狗的软件怎样实现全网络电脑用_加密狗应用领域有哪些?为您揭开7大行业软件保护的奥秘...
- 博图编写温度程序_数字式温度控制器程序设计
- 计算机二级office树的知识,计算机二级office选择题白话串讲--二叉树,是什么树?(1)...
- C语言实现通讯录管理系统
- Ubuntu18.04中cURL 77 错误:error setting certificate verify locations
- python超清壁纸_Python爬取5K分辨率超清唯美壁纸
- 公积金贷款逾期预测Baseline分享
- 计算机专用英语词汇1695个词汇表,这个收藏了
- 2019 虎鲸杯电子取证大赛赛后复盘总结
- CPU使用率过高的原因及解决方法
- 2019电赛纸张计数仪分析——————致敬“谢谢惠顾”
- 南京湖南路学计算机哪家好,南京“最好吃餐厅排行榜”,去过8个,你就是超级美食达人......
- 图像跟踪(1) CSK
- 使用模版自动化 Amazon IoT 设备创建及证书注册过程
- 2014年十大发展前景比较好的行业
热门文章
- LeetCode #1349. 参加考试的最大学生数 - 学到了:压缩状态动态规划、位运算、reduce()、str().count()
- 无法将mysql服务器连接到_无法从java连接到mysql服务器
- 关于Cocos2d-x的动作和动画
- css3 animate 和关键帧 @-webkit-keyframes
- lastLogon和lastLogonTimestamp的区别
- 快速搭建本地服务器 php,本地PHP服务器环境快速搭建
- 后端传到前端的字符串如何在pre标签中实现换行
- Eclipse 格式化代码时不换行与自动换行WordWrap插件
- mysql 主从宕机切换_mysql主从复制配置操作以及主从宕机切换演练
- android的按钮状态,保持android按钮选择状态