前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Redis(二):Redis入门与性能测试

Redis(二):Redis入门与性能测试

作者头像
栗筝i
发布2022-12-01 08:43:26
5020
发布2022-12-01 08:43:26
举报
文章被收录于专栏:迁移内容

1、Redis概述

Redis是什么: Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 免费开源!最热门的NoSQL技术之一!

redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。读的速度是110000次/s,写的速度是81000次/s 。

Redis的作用:

  • 内容存储、持久化(rdb、aof);
  • 效率高,可用于高速缓存;
  • 发布订阅系统;
  • 地图信息分析;
  • 计时、计数器;

Redis特性:

  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

2、Redis安装

2.1、windows下安装

  1. 官网下载安装包http://www.redis.cn/
  2. 下载后解压得到的压缩包;
  3. 开启Redis:双击exe文件,运行服务即可(默认端口号6379);
  4. 使用redis客户端连接Redis,可以使用ping命令测试一下!

windows下使用很简单,但是Redis推荐使用Redis来开发!

2.2、Linux下安装

  1. 官网下载安装包http://www.redis.cn/
  2. 解压Redis安装包;
  3. 进入目录,查看:
在这里插入图片描述
在这里插入图片描述
  1. 基本的环境安装:
代码语言:javascript
复制
yum install gcc-c++
make

默认安装路径是/usr/local/下 6. redis不是默认后台启动的,需要求改一下配置文件:

在这里插入图片描述
在这里插入图片描述

daemonize后面的no改为yes。 7. 启动redis服务

代码语言:javascript
复制
redis-server redis.conf
代码语言:javascript
复制
redis-cli -p 6379
在这里插入图片描述
在这里插入图片描述
  1. 基本命令测试连同
在这里插入图片描述
在这里插入图片描述

9.关闭redis服务

在这里插入图片描述
在这里插入图片描述

3、redis-benchmark 性能测试

Redis 自带了一个叫 redis-benchmark 的工具来模拟 N 个客户端同时发出 M 个请求。 (类似于 Apache ab 程序)。你可以使用 redis-benchmark -h 来查看基准参数。

代码语言:javascript
复制
以下参数被支持:
 
Usage: redis-benchmark [-h <host>] [-p <port>] [-c <clients>] [-n <requests]> [-k <boolean>]
 
 -h <hostname>      Server hostname (default 127.0.0.1)
 -p <port>          Server port (default 6379)
 -s <socket>        Server socket (overrides host and port)
 -a <password>      Password for Redis Auth
 -c <clients>       Number of parallel connections (default 50)
 -n <requests>      Total number of requests (default 100000)
 -d <size>          Data size of SET/GET value in bytes (default 2)
 -dbnum <db>        SELECT the specified db number (default 0)
 -k <boolean>       1=keep alive 0=reconnect (default 1)
 -r <keyspacelen>   Use random keys for SET/GET/INCR, random values for SADD
  Using this option the benchmark will expand the string __rand_int__
  inside an argument with a 12 digits number in the specified range
  from 0 to keyspacelen-1. The substitution changes every time a command
  is executed. Default tests use this to hit random keys in the
  specified range.
 -P <numreq>        Pipeline <numreq> requests. Default 1 (no pipeline).
 -q                 Quiet. Just show query/sec values
 --csv              Output in CSV format
 -l                 Loop. Run the tests forever
 -t <tests>         Only run the comma separated list of tests. The test
                    names are the same as the ones produced as output.
 -I                 Idle mode. Just open N idle connections and wait.

我们可以简单测试一下:

代码语言:javascript
复制
redis-benchmark -h localhost -p 6379 -c 100 -n 100000
在这里插入图片描述
在这里插入图片描述

可以看出: 100000并发、100个并发客户端,每次写如3字节,一台服务器 所有请求在8毫秒内处理完成!! 每秒处理125156.45次请求!!!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-06-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、Redis概述
  • 2、Redis安装
  • 3、redis-benchmark 性能测试
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档