`
wbj0110
  • 浏览: 1603123 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

Redis的介绍与使用 benchmark

阅读更多

redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、 list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操 作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的 是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

redis是一种非关系型数据存储工具,这区别于传统的关系型数据库(像mysql等),类似于memcache,并且其内部集成了对list(链 表)、set(集合)的操作,可以很方便快速的处理数据(像插入、删除list取交集 并集 差集等),这极大的减轻了底层数据库的压力,并且给用户更快的响应速度。

由于只是学习一下,没有应用在项目中,所以这里只是粗略的记一下自己在学习中感觉比较重要的东西,以及自己的一些心得。

看完了redis的定义,接下来我们安装redis 点此windows版的redis下载

我在C:盘中新建了一个文件夹来存放redis,文件包里的各项文件介绍如下:

    redis-server.exe 服务程序
   redis.conf redis配置文件
   redis-cli.exe 命令行客户端,测试用
   redis-check-dump.exe 本地数据库检查
   redis-check-aof.exe 更新日志检查
   redis-benchmark.exe 性能测试,用以模拟同时由N个客户端发送M个 SETs/GETs 查询 (类似于 Apache的 ab 工具)
   安装完成之后,打开redis-server.exe启动redis服务,我们可以打开redis-cli.exe输入指令来测试redis。

------------------------------------------------------------------------------------
redis.conf配置文件注解(原文地址):
daemonize是否以后台进程运行,默认为no
pidfile如以后台进程运行,则需指定一个pid,默认为/var/run/redis.pid
bind绑定主机IP,默认值为127.0.0.1(注释)
port 监听端口,默认为6379
timeout超时时间,默认为300(秒)
loglevel日志记录等级,有4个可选值,debug,verbose(默认值),notice,warning
logfile日志记录方式,默认值为stdout
databases可用数据库数,默认值为16,默认数据库为0
save<seconds><changes>指出在多长时间内,有多少次更新操作,就将数据同步到数据文件。这个可以多个条件配合,比如默认配置文件中的设置,就设置了三个条件。
save 900 1  900秒(15分钟)内至少有1个key被改变
save 300 10  300秒(5分钟)内至少有300个key被改变
save 60 10000  60秒内至少有10000个key被改变
rdbcompression存储至本地数据库时是否压缩数据,默认为yes
dbfilename本地数据库文件名,默认值为dump.rdb
dir 本地数据库存放路径,默认值为./
slaveof<masterip><masterport>当本机为从服务时,设置主服务的IP及端口(注释)
masterauth<master-password>当本机为从服务时,设置主服务的连接密码(注释)
requirepass连接密码(注释)
maxclients最大客户端连接数,默认不限制(注释)
maxmemory<bytes>设置最大内存,达到最大内存设置后,Redis会先尝试清除已到期或即将到期的Key,当此方法处理后,任到达最大内存设置,将无法再进行写入操作。(注释)
appendonly是否在每次更新操作后进行日志记录,如果不开启,可能会在断电时导致一段时间内的数据丢失。因为redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认值为no
appendfilename更新日志文件名,默认值为appendonly.aof(注释)
appendfsync更新日志条件,共有3个可选值。no表示等操作系统进行数据缓存同步到磁盘,always表示每次更新操作后手动调用fsync()将数据写到磁盘,everysec表示每秒同步一次(默认值)。
vm-enabled是否使用虚拟内存,默认值为no
vm-swap-file虚拟内存文件路径,默认值为/tmp/redis.swap,不可多个Redis实例共享
vm-max-memory将 所有大于vm-max-memory的数据存入虚拟内存,无论vm-max-memory设置多小,所有索引数据都是内存存储的(Redis的索引数据就 是keys),也就是说,当vm-max-memory设置为0的时候,其实是所有value都存在于磁盘。默认值为0。

----------------------------------------------------------------------------------------
benchmark工具测试信息:
测试命令:
redis-benchmark -n 100000 -c 60
向redis服务器发送100000个请求,每个请求附带60个并发客户端
结果(部分):
====== SET ======
对集合写入测试
  100000 requests completed in 2.38 seconds
100000个请求在2.38秒内完成
  60 parallel clients
每次请求有60个并发客户端
  3 bytes payload
每次写入3个字节的数据
  keep alive: 1
保持一个连接,一台服务器来处理这些请求

93.06% <= 15 milliseconds
99.96% <= 31 milliseconds
99.98% <= 46 milliseconds
99.99% <= 62 milliseconds
100.00% <= 62 milliseconds
所有请求在62毫秒内完成
42105.26 requests per second
每秒处理42105.26次请求

从结果我们可以看到,redis数据库在很高并发的情况下也可以很快速的处理数据并作出响应

分享到:
评论

相关推荐

    redis-benchmark.exe

    redis-benchmark.exe--

    redis for Windows 7.0.7 使用cygwin编译

    在Windows环境中使用Redis,需要注意与Unix系统的差异,例如路径表示方式、文件权限等。此外,由于Cygwin的模拟层,可能在某些场景下性能不如原生Unix环境。但通过这种方式,可以在不更换操作系统的情况下享受到...

    Redis介绍安装教程

    ### Redis介绍与安装教程 #### 一、Redis简介 Redis是一种高性能的键值对存储系统,在NoSQL数据库中占有重要地位。它不仅支持简单的键值对存储,还提供了丰富的数据结构,如字符串(String)、列表(List)、集合...

    Python库 | redis-benchmarks-specification-0.1.8.tar.gz

    这个库通常用于评估和比较不同版本的Redis或与Redis相关的实现,确保它们在处理大量数据、并发请求和其他关键性能指标时的表现。这个0.1.8版本的规范提供了详细的测试用例和指导原则,帮助开发者和运维人员了解如何...

    Redis使用+redis工具

    你也可以使用各种编程语言的Redis客户端库,如Python的`redis-py`,Java的`Jedis`,来与Redis通信。 3. **数据操作**: - **字符串(Strings)**:是最基本的数据类型,可以存储简单的字符串,支持设置、获取、递增...

    C# Redis 基础使用

    使用`ConnectionMultiplexer`类建立与Redis服务器的连接。创建实例时,需要提供连接字符串,例如:"localhost:6379"。连接字符串可以包含密码和其他选项,如:`ConfigurationOptions.EndPoints.Add(new IPEndPoint...

    Redis服务端 免安装 Redis工具

    你可以通过配置`redis.windows-service.conf`启动Redis服务,使用`redis-cli.exe`进行数据操作,利用`redis-benchmark.exe`进行性能测试,并参考提供的文档了解更详细的使用方法和最佳实践。记得在实际应用中根据...

    redis-6.2.14-win-amd64

    1. 开发者可以使用各种编程语言的Redis客户端库,如Python的`redis-py`,Java的`Jedis`等,与Redis服务器交互。 2. 设计和实现数据模型,根据业务需求选择合适的数据类型。 3. 利用Redis的事务功能保证数据操作的...

    redis-windows-7.2.4.zip(免安装,解压即可使用)

    2. **redis-cli.exe**:客户端命令行工具,用户可以通过它与Redis服务器进行交互,执行各种操作,如设置键值、查看数据、执行事务等。 3. **redis.conf**:默认配置文件,用于配置Redis服务器的行为,如端口设置、...

    Windows版 Redis 5.0.14

    在Windows环境下,Redis 的安装和使用与在Linux系统中有所不同。这里我们将详细讨论Windows版Redis 5.0.14的相关知识点。 1. **Redis 5.0.14 版本特点**: - Redis 5.0.14是Redis的一个稳定版本,包含了前一版本的...

    Redis Windows 安装包(7.0.11)

    本文将详细介绍如何在Windows上安装和使用Redis 7.0.11版本。 首先,Redis官方并不直接提供Windows安装包,但我们可以使用社区维护的版本,例如msys2编译的二进制包。在提供的压缩包中,包含了以下关键文件: 1. *...

    redis-windows-redis7.0.5.zip

    2. `redis-cli.exe`:Redis命令行客户端,用于与Redis服务器交互,执行命令和查看数据。 3. `redis.windows.conf`:Redis的配置文件,可以自定义服务器的各项设置。 4. `redis-benchmark.exe`:性能测试工具,可以...

    redis win x64位 及 安装卸载RedisServer服务

    - `redis-cli.exe`:这是Redis的命令行客户端,用于与Redis服务器进行交互,执行命令、查看数据、进行操作等。 - `redis-benchmark.exe`:性能测试工具,用于评估Redis服务器的读写性能。 - `redis-check-dump.exe`...

    Redis-7.0.5-x64 for Windows 64位版 Redis 7.0.5

    10. **redis-benchmark.exe**: 性能测试工具,可以用来测量Redis服务器的吞吐量和响应时间,帮助优化服务器配置和硬件选择。 总的来说,Redis 7.0.5 for Windows 64位版提供了一套完整的工具集,不仅包含数据库...

    Redis安装及使用详解

    cp redis-benchmark redis-cli redis-server /usr/bin/ ``` 3. **设置内存分配策略** - Redis在进行数据持久化时可能会创建子进程来完成数据写入,此时父进程和子进程会消耗相同量的内存。为了避免因内存不足...

    redis64 for windows

    - redis-benchmark.exe:Redis性能测试工具,用于测试Redis服务器的读写速度和其他性能指标。 - redis-check-dump.exe:用于检查RDB持久化文件的工具,确保数据的完整性和一致性。 - redis-check-aof.exe:用于...

    redis 用于win7

    在Windows 7操作系统上安装和使用Redis可能与在Linux等其他平台上略有不同,但其核心功能保持一致。以下是关于在Windows 7上安装和配置Redis的详细步骤以及相关知识点: 1. **下载与安装** Redis官方并未提供针对...

    Redis分布式缓存安装和使用

    安装完成后,`/usr/local/redis/bin` 目录下将包含 Redis 的可执行文件,如 `redis-benchmark`, `redis-check-aof`, `redis-check-dump`, `redis-cli`, `redis-server` 等。 为了将 Redis 配置为服务,需要执行以下...

    Redis 64位window 版 Redis-x64-3.2.100

    `redis-cli.exe`可以让你通过命令行界面与Redis进行交互,而`redis-benchmark.exe`则可以帮助你评估Redis服务器的性能。Windows服务模式的配置使得Redis可以在后台持续运行,无需用户登录。如果你使用`redis.windows...

Global site tag (gtag.js) - Google Analytics