Redis简介
Redis:Remote dictionary server,是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。
通常被称为数据结构服务器,因为值(value)可以是字符串(String), 哈希(Hash), 列表(list), 集合(sets)和有序集合(sorted sets)等类型。
Redis与其他key - value缓存产品有以下三个特点:
Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。Redis支持数据的备份,即master-slave模式的数据备份。
Redis的优势:
- 性能极高 – 读的速度是110000次/s,写的速度是81000次/s 。
- 丰富的数据类型 – 支持二进制案例的
Strings,Lists,Hashes,Sets及Ordered Sets数据类型操作。 - 原子 – 所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即
原子性,通过MULTI和EXEC指令包起来。 - 丰富的特性 – Redis还支持
publish/subscribe,通知,key过期等等特性。
Redis 安装
Ubuntu 18.04 上安装 redis-5.0.5
$ sudo apt-get install make gcc
$ wget http://download.redis.io/releases/redis-5.0.5.tar.gz
$ tar xzf redis-5.0.5.tar.gz
$ cd redis-5.0.5
$ make
$ sudo make install
Redis配置
启动一个Redis实例:sudo ./utils/install_server.sh
输入一个端口作为名称,比如7001,其他的使用默认配置
修改配置文件:sudo vim /etc/redis/7001.conf
主要修改以下参数:
bind绑定网卡port绑定端口dbfilenamedump数据的文件,修改为dump_7001.rdbcluster-enabled是否为集群,修改为yescluster-config-file一个机器上不同节点需要不同的配置文件,例nodes-7001.confcluster-node-timeout超时,修改为5000
重启实例:/etc/init.d/redis_7001 restart
查看状态:/etc/init.d/redis_7001 status
继续以上步骤启动 7002, 7003, 7004, 7005, 7006 Redis Cluster requires at least 3 master nodes.
创建集群:
redis-cli --cluster create \
192.168.1.10:7001 \
192.168.1.10:7002 \
192.168.1.10:7003 \
192.168.1.10:7004 \
192.168.1.10:7005 \
192.168.1.10:7006 \
--cluster-replicas 1