redis基础入门-redis系列教程

来源:互联网 发布:淘宝关闭无法激活 编辑:程序博客网 时间:2024/05/16 04:22

简介

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

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

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

Name Type Data storage options Query types Additional features Redis In-memory non-relational database strings,lists,sets,hashes,sorted sets Commands for each data type for common access patterns, with bulk operations, and partial transaction support publish/subscribe, master/salve replication, disk persistence, scription(stored procedures) memcached in-memory key-value cache mapping of keys to values commands for create, read, update, delete, and a few others Multithreaded server for additional performance mysql relational database databases of tables of rows, views over tables, spatial and third-party extensions select, insert, update, delete, functions, stored procedures acid 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.gzcd redis-3.2.9
  • 安装
makemake 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/redissudo cp redis.conf /etc/redis/6379-redis.conf
  • 让redis以守护进程执行(后台执行)
vim /etc/redis/6379-redis.conf## 找到 daemonize 参数并修改值为yesdaemonize yes
  • 运行程序
redis-server /etc/redis/6379-redis.conf

命令行客户端

  • 使用命令行工具连接redis服务
## 默认主机127.0.0.1和端口6379redis-cli## 也可以指定redis-cli -h 127.0.0.1 -p 6379[redis@bogon redis-3.2.9]$ redis-cli127.0.0.1:6379> select 1OK127.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: 195.95% <= 1 milliseconds99.90% <= 2 milliseconds100.00% <= 2 milliseconds71174.38 requests per second====== PING_BULK ======  100000 requests completed in 1.35 seconds  50 parallel clients  3 bytes payload  keep alive: 197.45% <= 1 milliseconds99.84% <= 2 milliseconds99.93% <= 3 milliseconds100.00% <= 3 milliseconds74128.98 requests per second====== SET ======  100000 requests completed in 1.34 seconds  50 parallel clients  3 bytes payload  keep alive: 197.87% <= 1 milliseconds99.90% <= 2 milliseconds100.00% <= 2 milliseconds74794.31 requests per second====== GET ======  100000 requests completed in 1.35 seconds  50 parallel clients  3 bytes payload  keep alive: 197.04% <= 1 milliseconds99.81% <= 2 milliseconds99.99% <= 3 milliseconds99.99% <= 4 milliseconds100.00% <= 4 milliseconds73909.83 requests per second====== INCR ======  100000 requests completed in 1.34 seconds  50 parallel clients  3 bytes payload  keep alive: 197.74% <= 1 milliseconds99.90% <= 2 milliseconds99.96% <= 3 milliseconds99.98% <= 4 milliseconds100.00% <= 4 milliseconds74850.30 requests per second====== LPUSH ======  100000 requests completed in 1.40 seconds  50 parallel clients  3 bytes payload  keep alive: 196.41% <= 1 milliseconds99.90% <= 2 milliseconds99.95% <= 3 milliseconds99.98% <= 4 milliseconds100.00% <= 4 milliseconds71377.59 requests per second====== RPUSH ======  100000 requests completed in 1.35 seconds  50 parallel clients  3 bytes payload  keep alive: 197.74% <= 1 milliseconds99.81% <= 2 milliseconds99.95% <= 3 milliseconds100.00% <= 3 milliseconds74349.44 requests per second====== LPOP ======  100000 requests completed in 1.38 seconds  50 parallel clients  3 bytes payload  keep alive: 196.81% <= 1 milliseconds99.93% <= 2 milliseconds99.99% <= 3 milliseconds100.00% <= 3 milliseconds72463.77 requests per second====== RPOP ======  100000 requests completed in 1.39 seconds  50 parallel clients  3 bytes payload  keep alive: 196.79% <= 1 milliseconds99.91% <= 2 milliseconds99.95% <= 3 milliseconds100.00% <= 3 milliseconds71787.51 requests per second====== SADD ======  100000 requests completed in 1.32 seconds  50 parallel clients  3 bytes payload  keep alive: 197.50% <= 1 milliseconds99.90% <= 2 milliseconds99.97% <= 3 milliseconds100.00% <= 3 milliseconds75585.79 requests per second====== SPOP ======  100000 requests completed in 1.50 seconds  50 parallel clients  3 bytes payload  keep alive: 192.64% <= 1 milliseconds99.63% <= 2 milliseconds99.95% <= 3 milliseconds100.00% <= 3 milliseconds66577.90 requests per second====== LPUSH (needed to benchmark LRANGE) ======  100000 requests completed in 1.68 seconds  50 parallel clients  3 bytes payload  keep alive: 188.62% <= 1 milliseconds99.13% <= 2 milliseconds99.63% <= 3 milliseconds99.79% <= 4 milliseconds99.88% <= 5 milliseconds99.90% <= 6 milliseconds99.93% <= 7 milliseconds99.95% <= 8 milliseconds99.95% <= 9 milliseconds99.96% <= 10 milliseconds100.00% <= 10 milliseconds59594.76 requests per second====== LRANGE_100 (first 100 elements) ======  100000 requests completed in 3.23 seconds  50 parallel clients  3 bytes payload  keep alive: 139.77% <= 1 milliseconds94.66% <= 2 milliseconds99.68% <= 3 milliseconds99.98% <= 4 milliseconds100.00% <= 4 milliseconds30969.34 requests per second====== LRANGE_300 (first 300 elements) ======  100000 requests completed in 8.18 seconds  50 parallel clients  3 bytes payload  keep alive: 10.00% <= 1 milliseconds24.86% <= 2 milliseconds65.62% <= 3 milliseconds89.40% <= 4 milliseconds95.55% <= 5 milliseconds97.98% <= 6 milliseconds99.03% <= 7 milliseconds99.36% <= 8 milliseconds99.49% <= 9 milliseconds99.58% <= 10 milliseconds99.62% <= 11 milliseconds99.67% <= 12 milliseconds99.70% <= 13 milliseconds99.73% <= 14 milliseconds99.78% <= 15 milliseconds99.84% <= 16 milliseconds99.89% <= 17 milliseconds99.92% <= 18 milliseconds99.95% <= 19 milliseconds99.96% <= 20 milliseconds99.97% <= 21 milliseconds99.98% <= 22 milliseconds99.99% <= 23 milliseconds100.00% <= 23 milliseconds12223.45 requests per second====== LRANGE_500 (first 450 elements) ======  100000 requests completed in 11.43 seconds  50 parallel clients  3 bytes payload  keep alive: 10.00% <= 1 milliseconds5.08% <= 2 milliseconds30.17% <= 3 milliseconds58.75% <= 4 milliseconds83.45% <= 5 milliseconds92.20% <= 6 milliseconds96.01% <= 7 milliseconds98.04% <= 8 milliseconds99.03% <= 9 milliseconds99.55% <= 10 milliseconds99.78% <= 11 milliseconds99.88% <= 12 milliseconds99.91% <= 13 milliseconds99.93% <= 14 milliseconds99.95% <= 15 milliseconds99.97% <= 16 milliseconds99.97% <= 17 milliseconds99.98% <= 18 milliseconds99.98% <= 19 milliseconds99.99% <= 20 milliseconds99.99% <= 21 milliseconds100.00% <= 21 milliseconds8749.67 requests per second====== LRANGE_600 (first 600 elements) ======  100000 requests completed in 14.23 seconds  50 parallel clients  3 bytes payload  keep alive: 10.00% <= 2 milliseconds13.04% <= 3 milliseconds34.67% <= 4 milliseconds57.58% <= 5 milliseconds80.28% <= 6 milliseconds92.21% <= 7 milliseconds96.65% <= 8 milliseconds98.24% <= 9 milliseconds98.99% <= 10 milliseconds99.39% <= 11 milliseconds99.54% <= 12 milliseconds99.63% <= 13 milliseconds99.69% <= 14 milliseconds99.72% <= 15 milliseconds99.75% <= 16 milliseconds99.79% <= 17 milliseconds99.81% <= 18 milliseconds99.83% <= 19 milliseconds99.86% <= 20 milliseconds99.89% <= 21 milliseconds99.91% <= 22 milliseconds99.93% <= 23 milliseconds99.94% <= 24 milliseconds99.96% <= 25 milliseconds99.96% <= 26 milliseconds99.98% <= 27 milliseconds99.99% <= 28 milliseconds99.99% <= 30 milliseconds99.99% <= 31 milliseconds99.99% <= 32 milliseconds100.00% <= 33 milliseconds100.00% <= 35 milliseconds100.00% <= 43 milliseconds100.00% <= 43 milliseconds7028.89 requests per second====== MSET (10 keys) ======  100000 requests completed in 1.73 seconds  50 parallel clients  3 bytes payload  keep alive: 191.23% <= 1 milliseconds99.83% <= 2 milliseconds99.99% <= 3 milliseconds100.00% <= 3 milliseconds57870.37 requests per second
原创粉丝点击