redis基础入门-redis系列教程

简介

Redis介绍(REmote DIctionary Server远程字典服务器)

redis是一个使用c编写的、开源的、KV型、基于内存运行并支持持久化的NoSQL数据库,它也是当前最热门的NoSQL数据库之一。

和其它数据库或缓存的对比

NameTypeData storage optionsQuery typesAdditional features
RedisIn-memory non-relational databasestrings,lists,sets,hashes,sorted setsCommands for each data type for common access patterns, with bulk operations, and partial transaction supportpublish/subscribe, master/salve replication, disk persistence, scription(stored procedures)
memcachedin-memory key-value cachemapping of keys to valuescommands for create, read, update, delete, and a few othersMultithreaded server for additional performance
mysqlrelational databasedatabases of tables of rows, views over tables, spatial and third-party extensionsselect, insert, update, delete, functions, stored proceduresacid compliant(with innoDB), master/salve and master/master replication

redis和memcached的应用场景

  • 如果单纯做kv缓存用而不考虑到其它的需求,比如缓存计算、丰富的数据类型,此时优选memcached。
  • 如果不满足上面的条件则选择redis更适合一些。

安装

下面所有操作在CentOS7上进行

源码安装

  • 前往官网下载最新版本3.2.9
wget -c http://download.redis.io/releases/redis-3.2.9.tar.gz
  • 解压并进入文件夹
tar -zxvf redis-3.2.9.tar.gz
cd redis-3.2.9
  • 安装
make
make install
  • 在目录 /usr/local/bin 下有一些命令

    1. redis-benchmark:性能测试工具
    2. redis-check-aof:修复有问题的AOF文件
    3. redis-check-rdb:修复有问题的RDB文件
    4. redis-cli:命令行操作工具
    5. redis-sentinel:集群管理工具
    6. redis-server:服务启动程序

系统源安装

yum install -y redis

启动

  • 管理配置文件
sudo mkdir /etc/redis
sudo cp redis.conf /etc/redis/6379-redis.conf
  • 让redis以守护进程执行(后台执行)
vim /etc/redis/6379-redis.conf

## 找到 daemonize 参数并修改值为yes
daemonize yes
  • 运行程序
redis-server /etc/redis/6379-redis.conf

命令行客户端

  • 使用命令行工具连接redis服务
## 默认主机127.0.0.1和端口6379
redis-cli

## 也可以指定
redis-cli -h 127.0.0.1 -p 6379

[redis@bogon redis-3.2.9]$ redis-cli
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> quit

关闭redis服务

  • 建议使用redis的命令关闭服务
    1. 如果你还在命令行终端内可以使用 shutdown 并回车来关闭服务
    2. 也可以直接使用 redis-cli shutdown 来关闭服务,如果不是默认端口则需要进行指定。
  • 如果你使用 kill -9 来强制关闭redis的服务进程,这非常有可能导致丢数据,因为此时缓存中的数据还来不及持久化到文件中。

最后

  • 可以使用 redis-benchmark 工具进行性能测试,它的作用是测试刚才安装的redis在当前的系统环境下的读写性能。
  • 在使用本工具前必须启动redis服务。
[redis@bogon redis-3.2.9]$ redis-benchmark
====== PING_INLINE ======
  100000 requests completed in 1.40 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

95.95% <= 1 milliseconds
99.90% <= 2 milliseconds
100.00% <= 2 milliseconds
71174.38 requests per second

====== PING_BULK ======
  100000 requests completed in 1.35 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

97.45% <= 1 milliseconds
99.84% <= 2 milliseconds
99.93% <= 3 milliseconds
100.00% <= 3 milliseconds
74128.98 requests per second

====== SET ======
  100000 requests completed in 1.34 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

97.87% <= 1 milliseconds
99.90% <= 2 milliseconds
100.00% <= 2 milliseconds
74794.31 requests per second

====== GET ======
  100000 requests completed in 1.35 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

97.04% <= 1 milliseconds
99.81% <= 2 milliseconds
99.99% <= 3 milliseconds
99.99% <= 4 milliseconds
100.00% <= 4 milliseconds
73909.83 requests per second

====== INCR ======
  100000 requests completed in 1.34 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

97.74% <= 1 milliseconds
99.90% <= 2 milliseconds
99.96% <= 3 milliseconds
99.98% <= 4 milliseconds
100.00% <= 4 milliseconds
74850.30 requests per second

====== LPUSH ======
  100000 requests completed in 1.40 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

96.41% <= 1 milliseconds
99.90% <= 2 milliseconds
99.95% <= 3 milliseconds
99.98% <= 4 milliseconds
100.00% <= 4 milliseconds
71377.59 requests per second

====== RPUSH ======
  100000 requests completed in 1.35 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

97.74% <= 1 milliseconds
99.81% <= 2 milliseconds
99.95% <= 3 milliseconds
100.00% <= 3 milliseconds
74349.44 requests per second

====== LPOP ======
  100000 requests completed in 1.38 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

96.81% <= 1 milliseconds
99.93% <= 2 milliseconds
99.99% <= 3 milliseconds
100.00% <= 3 milliseconds
72463.77 requests per second

====== RPOP ======
  100000 requests completed in 1.39 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

96.79% <= 1 milliseconds
99.91% <= 2 milliseconds
99.95% <= 3 milliseconds
100.00% <= 3 milliseconds
71787.51 requests per second

====== SADD ======
  100000 requests completed in 1.32 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

97.50% <= 1 milliseconds
99.90% <= 2 milliseconds
99.97% <= 3 milliseconds
100.00% <= 3 milliseconds
75585.79 requests per second

====== SPOP ======
  100000 requests completed in 1.50 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

92.64% <= 1 milliseconds
99.63% <= 2 milliseconds
99.95% <= 3 milliseconds
100.00% <= 3 milliseconds
66577.90 requests per second

====== LPUSH (needed to benchmark LRANGE) ======
  100000 requests completed in 1.68 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

88.62% <= 1 milliseconds
99.13% <= 2 milliseconds
99.63% <= 3 milliseconds
99.79% <= 4 milliseconds
99.88% <= 5 milliseconds
99.90% <= 6 milliseconds
99.93% <= 7 milliseconds
99.95% <= 8 milliseconds
99.95% <= 9 milliseconds
99.96% <= 10 milliseconds
100.00% <= 10 milliseconds
59594.76 requests per second

====== LRANGE_100 (first 100 elements) ======
  100000 requests completed in 3.23 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

39.77% <= 1 milliseconds
94.66% <= 2 milliseconds
99.68% <= 3 milliseconds
99.98% <= 4 milliseconds
100.00% <= 4 milliseconds
30969.34 requests per second

====== LRANGE_300 (first 300 elements) ======
  100000 requests completed in 8.18 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

0.00% <= 1 milliseconds
24.86% <= 2 milliseconds
65.62% <= 3 milliseconds
89.40% <= 4 milliseconds
95.55% <= 5 milliseconds
97.98% <= 6 milliseconds
99.03% <= 7 milliseconds
99.36% <= 8 milliseconds
99.49% <= 9 milliseconds
99.58% <= 10 milliseconds
99.62% <= 11 milliseconds
99.67% <= 12 milliseconds
99.70% <= 13 milliseconds
99.73% <= 14 milliseconds
99.78% <= 15 milliseconds
99.84% <= 16 milliseconds
99.89% <= 17 milliseconds
99.92% <= 18 milliseconds
99.95% <= 19 milliseconds
99.96% <= 20 milliseconds
99.97% <= 21 milliseconds
99.98% <= 22 milliseconds
99.99% <= 23 milliseconds
100.00% <= 23 milliseconds
12223.45 requests per second

====== LRANGE_500 (first 450 elements) ======
  100000 requests completed in 11.43 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

0.00% <= 1 milliseconds
5.08% <= 2 milliseconds
30.17% <= 3 milliseconds
58.75% <= 4 milliseconds
83.45% <= 5 milliseconds
92.20% <= 6 milliseconds
96.01% <= 7 milliseconds
98.04% <= 8 milliseconds
99.03% <= 9 milliseconds
99.55% <= 10 milliseconds
99.78% <= 11 milliseconds
99.88% <= 12 milliseconds
99.91% <= 13 milliseconds
99.93% <= 14 milliseconds
99.95% <= 15 milliseconds
99.97% <= 16 milliseconds
99.97% <= 17 milliseconds
99.98% <= 18 milliseconds
99.98% <= 19 milliseconds
99.99% <= 20 milliseconds
99.99% <= 21 milliseconds
100.00% <= 21 milliseconds
8749.67 requests per second

====== LRANGE_600 (first 600 elements) ======
  100000 requests completed in 14.23 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

0.00% <= 2 milliseconds
13.04% <= 3 milliseconds
34.67% <= 4 milliseconds
57.58% <= 5 milliseconds
80.28% <= 6 milliseconds
92.21% <= 7 milliseconds
96.65% <= 8 milliseconds
98.24% <= 9 milliseconds
98.99% <= 10 milliseconds
99.39% <= 11 milliseconds
99.54% <= 12 milliseconds
99.63% <= 13 milliseconds
99.69% <= 14 milliseconds
99.72% <= 15 milliseconds
99.75% <= 16 milliseconds
99.79% <= 17 milliseconds
99.81% <= 18 milliseconds
99.83% <= 19 milliseconds
99.86% <= 20 milliseconds
99.89% <= 21 milliseconds
99.91% <= 22 milliseconds
99.93% <= 23 milliseconds
99.94% <= 24 milliseconds
99.96% <= 25 milliseconds
99.96% <= 26 milliseconds
99.98% <= 27 milliseconds
99.99% <= 28 milliseconds
99.99% <= 30 milliseconds
99.99% <= 31 milliseconds
99.99% <= 32 milliseconds
100.00% <= 33 milliseconds
100.00% <= 35 milliseconds
100.00% <= 43 milliseconds
100.00% <= 43 milliseconds
7028.89 requests per second

====== MSET (10 keys) ======
  100000 requests completed in 1.73 seconds
  50 parallel clients
  3 bytes payload
  keep alive: 1

91.23% <= 1 milliseconds
99.83% <= 2 milliseconds
99.99% <= 3 milliseconds
100.00% <= 3 milliseconds
57870.37 requests per second
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值