Redis基础—二、基本知识及benchmark性能测试

2023-11-07

Redis基础—二、基本知识及benchmark性能测试

一、benchmark性能测试

redis可以使用benchMark进行基本的性能测试,其基本命令如下:

redis-benchmark [option] [option value]

image-20201117163627145

redis-benchmark -c 100 -n 100000             #指定并发连接数为100,请求数为10万

我们以set请求为例:

image-20201117164935360

所以看来redis还是很快的!

二、基本知识

redis其实默认有16个数据库

image-20201117170959723

默认使用的是第0个,我们可以通过select命令进行切换。

127.0.0.1:6379> select 1                   #切换到第一个
OK

可以通过dbsize命令查看数据库大小

127.0.0.1:6379[1]> dbsize           #查看数据库大小
(integer) 0
127.0.0.1:6379[1]> set name jj     #设置进去jj
OK
127.0.0.1:6379[1]> dbsize          #再查看一下!
(integer) 1

还有一些常用的指令。

keys * # 查看当前数据库所有的key

flushdb  # 清空当前库

flushall # 清空所有数据库

redis是单线程的

redis是很快的,官方表示,redis是基于内存操作的,cpu不是redis的性能瓶颈,redis的瓶颈是根据机器的内存和网络带宽,既然可以使用单线程来实现,那就使用了单线程了!所以就使用了单线程,

Redis是由c语言写的,官方提供的数据为 100000+的QPS,说明这个完全不比memecache差!

Redis 为什么单线程还更快?

  1. 误区:高性能的服务器一定是多线程的?
  2. 误区:多线程一定比单线程效率高(上下文切换会影响速度)

核心:redis是将所有的数据全部放在内存里面的,所以说使用单线程操作效率就是最高的(CPU上下文切换是一个耗时的操作)

对于内存系统来说,如果没有上下文切换,效率就是最高的!多次读写都是在一个cpu上的,在内存情况下,这个就是最佳的方案

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Redis基础—二、基本知识及benchmark性能测试 的相关文章

  • redis dump.rdb / 保存小文件

    Context 我正在使用redis 数据库小于 100 MB 但是 我想进行每日备份 我也在 Ubuntu Server 12 04 上运行 当输入 redis cli save 我不知道 dump rdb 保存到哪里 因为 redis
  • redis 2.8.7 Linux Sentinel环境配置问题,如何使其自启动,应该订阅什么?

    现在我们尝试使用 redis 2 8 7 作为缓存存储 来自使用 booksleeve 客户端的 NET Web 应用程序 目前看来这是一个非常有趣和令人兴奋的任务 redis 文档非常好 但由于缺乏真正的实践经验 我确实有几个关于如何正确
  • 在 Redis 上为 Django 和 Express.js 应用程序共享会话存储

    我想创建一个包含一些登录用户的 Django 应用程序 另一方面 由于我想要一些实时功能 所以我想使用 Express js 应用程序 现在的问题是 我不希望身份不明的用户访问 Express js 应用程序的日期 因此 我必须在 Expr
  • Scala 使用的 Redis 客户端库建议

    我正在计划使用 Scala 中的 Redis 实例进行一些工作 并正在寻找有关使用哪些客户端库的建议 理想情况下 如果存在一个好的库 我希望有一个为 Scala 而不是 Java 设计的库 但如果现在这是更好的方法 那么仅使用 Java 客
  • Laravel 异常队列最大尝试次数超出

    我创建了一个应用程序来向多个用户发送电子邮件 但在处理大量收件人时遇到问题 该错误出现在failed jobs table Illuminate Queue MaxAttemptsExceededException App Jobs ESe
  • Laravel Redis 配置

    我目前正在使用 Laravel 和 Redis 创建一个应用程序 几乎一切都工作正常 我按照文档中的说明扩展了身份验证 用户可以订阅 登录 注销 我可以创建内容 所有内容都存储在 Redis 中 但我有一个问题 我无法运行 php arti
  • 为什么单个 Redis 实例不是线程安全的?

    https github com xetorthio jedis wiki Getting started https github com xetorthio jedis wiki Getting started 在多线程环境中使用Jed
  • 批量将Dictionary中的数据设置到Redis中

    我正在使用 StackExchange Redis DB 插入键值对字典Batch如下 private static StackExchange Redis IDatabase database public void SetAll
  • ServiceStack PooledRedisClientManager 故障转移如何工作?

    根据 git commit 消息 ServiceStack 最近添加了故障转移支持 我最初认为这意味着我可以关闭我的一个 Redis 实例 并且我的池客户端管理器将优雅地处理故障转移并尝试与我的备用 Redis 实例之一连接 不幸的是 我的
  • 为什么我们需要 Redis 来运行 CKAN?

    我想知道为什么我们需要 Redis 服务器来运行 CKAN 如果需要 为什么 我如何使用 CKAN 配置它 附注 我正在 RHEL7 中运行我的 ckan 实例 Update Redis 已成为一项要求从CKAN 2 7开始 https d
  • 在 Rails 应用程序上将 HASH 保存到 Redis

    我刚刚开始使用 Redis 和 Rails 所以这可能是一个愚蠢的问题 我试图将哈希值保存到 Redis 服务器 但是当我检索它时 它只是一个字符串 IE hash field gt value field2 gt value2 redis
  • 如何在Redis中使用HSCAN命令?

    我想在我的作业中使用 Redis 的 HSCAN 命令 但我不知道它是如何工作的 Redis 的官方页面 http redis io commands hscan http redis io commands hscan 这个命令给了我空白
  • 无法通过节点应用程序连接到redis,两者都在docker中

    我正在尝试将我的应用程序连接到 redis 但我得到 ioredis Unhandled error event Error connect ECONNREFUSED 127 0 0 1 6379 当我做 docker exec it ed
  • 如何让 Redis 在 Heroku 上启动?

    我已经添加了RedistogoHeroku 上的 nano 插件 我已经在控制台中成功测试了它 但是 当我的应用程序尝试连接 Redis 时 出现以下错误 Heroku 日志文件 2011 10 12T08 19 50 00 00 app
  • 将redis数据移至MySQL的更快方法

    我们拥有庞大的购物和产品交易系统 我们在 MySQL 方面遇到了很多问题 因此经过几次研发后 我们计划使用 Redis 并开始将 Redis 集成到我们的系统中 继之前直接访问数据库之后 现在我们已经移动了Redis系统 用户购物车详情 关
  • 如何在任何 MQ 平台上实现这个单一并发分布式队列?

    我目前正在努力寻找实现特定类型队列的解决方案 这需要以下特征 所有队列必须遵守作业添加的顺序 整个队列的并发度为1 这意味着每个队列一次只会执行一个作业queue 不是工人 像这样排队的人会超过几千人 它需要分布式并且能够扩展 例如 如果我
  • 获取redis主哨兵

    我正在尝试获取当前正在监视 redis master 的所有哨兵的列表 我知道如果我有一个哨兵我可以使用sentinel sentinels mymaster但如果我没有 Sentinel 的任何地址 我怎样才能获得它们 没有直接命令可以从
  • 如何将redis中的数据保存到磁盘中的文件并读回redis?

    我可以在程序中写入 Redis 并从中读取 但是 关闭服务器后 我猜数据已从内存中删除 如何将redis中的数据保存到磁盘中 以便下次打开redis时 它可以打开数据 让控制台程序读取它吗 如果我的电脑突然断电重启 redis可以恢复状态吗
  • 使用 StackExchange.Redis 处理暂时性网络错误

    寻找有关使用 StackExchange Redis 客户端时处理临时网络问题的指南 澄清一下 我并不是说最初使用 ConnectionMultiplexer Connect 连接到 Redis 服务器 我指的是如何处理在操作过程中由于任何
  • Redis 多个订阅者

    我有多个订阅者订阅了同一个 Redis 频道 Redis是否保证订阅者订阅频道后所有订阅者都能收到推送到频道的所有消息 来自 redis 文档 其他客户端发送到这些通道的消息将由 Redis 给所有订阅的客户端 我想这对你的问题来说是肯定的

随机推荐

  • ReactNative——导航器react-navigation(堆栈式导航器篇)

    react navigation 安装核心包 yarn add react navigation native 安装 react navigation native本身依赖的相关包 react native reanimated 动画库 r
  • MVC中前台Model转Json传到后台

    C 代码 string str Newtonsoft Json JsonConvert SerializeObject Model JS代码 var theString str theString theString replace quo
  • C语言实验——求两个整数之和

    C语言实验 求两个整数之和 C语言实验 求两个整数之和 求两个整数之和 不从键盘输入数据 直接使用赋值语句 a 123 b 456 输入数据 然后计算两个整数之和输出 Input 无输入数据 Output 输出a和b之和 Sample Ou
  • 5.Java中的基本数据类型有哪些?

    Java中的基本数据类型有哪些 Java是一个强类型语言 Java中的数据必须明确数据类型 在Java中的数据类型包括基本数据类型和引用数据类型两种 Java中的基本数据类型 数据类型 关键字 内存占用 成员变量初始值 取值范围 整数类型
  • Coursera

    该系列仅在原课程基础上部分知识点添加个人学习笔记 或相关推导补充等 如有错误 还请批评指教 在学习了 Andrew Ng 课程的基础上 为了更方便的查阅复习 将其整理成文字 因本人一直在学习英语 所以该系列以英文为主 同时也建议读者以英文为
  • Qt 判断QString是否为空

    isEmpty QString isEmpty returns true QString isEmpty returns true QString x isEmpty returns false QString abc isEmpty re
  • Linux 存储结构

    软硬链接 windows中的快捷方式 ln 参数 目标 参数 使用 s s表示创建软链接 默认创建的是硬链接 f 强制创建文件或目录的链接 i 覆盖先询问 v 显示创建过程 echo hello wolrd gt readme txt 创建
  • 相关性分析的五种方法

    相关分析 Analysis of Correlation 是网站分析中经常使用的分析方法之一 通过对不同特征或数据间的关系进行分析 发现业务运营中的关键影响及驱动因素 并对业务的发展进行预测 本篇文章将介绍5种常用的分析方法 在开始介绍相关
  • 【H.264/AVC视频编解码技术详解】十二、解析H.264码流的宏块结构(下):H.264帧内编码宏块的预测结构

    H 264 AVC视频编解码技术详解 视频教程已经在 CSDN学院 上线 视频中详述了H 264的背景 标准协议和实现 并通过一个实战工程的形式对H 264的标准进行解析和实现 欢迎观看 纸上得来终觉浅 绝知此事要躬行 只有自己按照标准文档
  • Docker部署nacos单机版

    Docker部署nacos单机版 1 拉取镜像 获取最新nacos docker pull nacos nacos server 获取指定版本的nacos docker pulll nacos nacos server 1 3 0 2 导入
  • 软件工程概述思维导图总结(二)

    软件工程之软件过程 关于作者 作者介绍 博客主页 作者主页 简介 JAVA领域优质创作者 一名在校大三学生 在校期间参加各种省赛 国赛 斩获一系列荣誉 关注我 关注我学习资料 文档下载统统都有 每日定时更新文章 励志做一名JAVA资深程序猿
  • 使用Python分析股价波动周期

    基本思路是获取股价收盘信息后 使用希尔伯特黄变换将股价波动数据拆解为不同周期的波动曲线 再本别利用频谱分析计算每一个曲线的频率 目标是将股价波动数据拆解为不同周期波动的叠加态 1 获取收盘价 富途有很好的API接口 给我这种小散送了每个月的
  • 协程是安全的吗?

    前言 我们都知道 多个线程操作同一个变量 是有线程安全问题的 但是 如果换成是 多个协程操作同一个变量 呢 还会有安全问题吗 实验环境 Windows 11 Go 1 20 2 过程 先看一段Golang代码示例 func main cou
  • 【DVWA】DVWA的下载、安装与配置

    DVWA DVWA的下载 安装与配置 简介 DVWA是一个基于php的网络安全练习的环境 也就是可以用来练习hacker技术的地方 无须自己找个网络下手或者搭建安全环境来练习网络攻防了 DVWA也是一个对网上常见的漏洞的入门的平台 有sql
  • 高通recovery流程分析(编译、界面、图片)

    目录 recovery 界面菜单 recovery 界面操作 recovery 启动流程 recovery 编译makefile recovery 图片大小 ramdisk boot img recovery img之间的关系 author
  • Linux find命令查找文件

    如果要去 目录下找一个名为test txt的文件 find name test txt 如果要去 目录下找出所有后缀为txt的文件 find name txt 删除所有查找到的文件和文件夹 慎用 rm rf find name txt
  • openwrt系统初始化分析

    openwrt固件启动后 进入uboot 加载内核 启动init进程 而init进程包含在procd进程中 启动代码如下 int main int argc char argv pid t pid sigaction SIGTERM sa
  • [DBNETLIB][ConnectionOpen(Connect()).]SQL Server 不存在或拒绝访问 数据库错误 解决办法总结

    原因 1 查看是不是没有在数据库中添加数据库服务器地址 2 查看端口是否打开 MSSQL默认是TCP 1433 3 SQL服务项中服务是否开启或启动 4 防火墙是否将TCP 1433端口 添加例外 5 是否开启了VIA服务 6 最好关闭数据
  • TCP 为什么三次握手而不是两次握手(正解版)

    参考文章 Why do we need a 3 way handshake Why not just 2 way 大部分网络博客的错误解读 首先需要声明的是 百度搜索到的大部分网络博客关于这个问题的解答都是不清晰或者不准确的 讨论这个问题的
  • Redis基础—二、基本知识及benchmark性能测试

    Redis基础 二 基本知识及benchmark性能测试 一 benchmark性能测试 redis可以使用benchMark进行基本的性能测试 其基本命令如下 redis benchmark option option value red