您的位置:首页 > 数据库 > Redis

redis基础入门-redis系列教程

2017-06-18 12:12 671 查看

简介

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[/code] 
解压并进入文件夹

tar -zxvf redis-3.2.9.tar.gz
cd redis-3.2.9


安装

make
make install


在目录
/usr/local/bin
下有一些命令

redis-benchmark:性能测试工具

redis-check-aof:修复有问题的AOF文件

redis-check-rdb:修复有问题的RDB文件

redis-cli:命令行操作工具

redis-sentinel:集群管理工具

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的命令关闭服务

如果你还在命令行终端内可以使用
shutdown
并回车来关闭服务

也可以直接使用
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息