官网:https://redis.io/
总结Ubuntu搭建流程:
# 安装redis
sudo apt install redis-server
redis-server -v
redis-cli -v
# 安装ruby
sudo apt-get install ruby rubygems
ruby -v
gem -v
# 安装ruby插件
sudo gem install redis -v 3.0.6 (根据redis版本决定)
# 复制3份redis.conf,分别在3台机器上(或者1台机器上的不同文件夹)启动redis-server实例
redis-server redis-6379.conf
redis-server redis-6380.conf
redis-server redis-6381.conf
# 创建集群
redis-trib.rb create 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 # 如果是不同机器需要替换成各个机器的IP
1 什么是Redis
REmote DIctionary Server(Redis)
是一个由Salvatore Sanfilippo写的key-value存储系统。
基于内存(也可以基于持久化)存储
通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。
2 为什么用Redis
读写性能高:读的速度是110000次/s,写的速度是81000次/s
数据类型丰富:支持 Strings, Lists, Hashes, Sets 及 Ordered Sets
原子性操作:所有的操作要么成功执行要么失败完全不执行
轻量化:整个软件才2M,内存占用极少
单机多实例,同机器可以给多个应用配置多个Redis数据库,因为资源占用极少
存储在内存中(几乎是计算机存储的最高读写速度),又支持备份到磁盘中
相比较其他的NoSQL数据库(非关系型数据库):
(1)Memcached:
【优点】利用多核优势,吞吐可以达到几十万QPS(日常5-6w QPS)。
【缺点】但只支持简单的key/value数据结构(不像Redis可以支持丰富的数据类型),不能持久化,不能备份,重启后数据消失,内存采用Slab Allocation机制管理,value大小分布差异大的时候内存利用率低。
(2)Redis:
【优点】支持多种数据结构,支持持久化到磁盘来进行数据备份或恢复,支持通过master-slave机制做数据复制,单线程串行执行所有命令,不需要考虑数据一致性。支持pub/sub消息订阅机制。
【缺点】只能使用单线程,性能受限于CPU性能,单实例CPU最高只能达到5-6wQPS(日常1-2w QPS),在string类型上会消耗比较多的内存,可以使用dict(hash表)压缩存储来降低内存耗用
(3)MoongoDB:
【优点】有更高的写入速度,处理大规模单表可以很容易的分割表
【缺点】占用空间过大,没