分享程序网
首页
  • java
微服务
微前端
环境搭建
数据库
设计模式
算法
软件
解决问题
链接
首页
  • java
微服务
微前端
环境搭建
数据库
设计模式
算法
软件
解决问题
链接
  • 关系型数据库

    • MySQL
    • PostgreSQL
  • 非关系型数据库

    • Redis
    • MongoDB

Redis

下载地址

Windwos:https://github.com/microsoftarchive/redis/releases

Linux:https://redis.io/download

介绍

​ REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。

​ Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。

​ Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。

安装

Windows:

​ 下载好的软件文件应该为:Redis-x64-3.2.100.msi。双击安装即可。一直下一步,中间会出现修改文件安装位置和端口号,内存最大值设置等等。我安装的位置在:

D:\Program Files\Redis

可以写一个启动脚本redis-server.bat:

@echo off
D:
cd D:\Program Files\Redis-x64-3.2.100
redis-server.exe redis.windows.conf

如果只是需要打开一个窗口,不关闭的话只需要删除第一行。

如果安装路径不是D:\Program Files\Redis-x64-3.2.100,修改第3行路径

Linux:

​ 下载好的软件名称为:redis-4.0.11.tar.gz。

  1. 解压
tar zxvf redis-4.0.11.tar.gz
  1. 编译
cd redis-4.0.11/
make
cd src
make install PREFIX=/usr/local/redis
mkdir /usr/local/redis/etc
cd /software/redis-4.0.11/
cp redis.conf /usr/local/redis/etc/
  1. 配置
cd /usr/local/redis/etc/
vim redis.conf

修改结果如下:

daemonize yes		//redis后台运行
  1. 启动
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
  1. 开机自启动
vim /etc/rc.local

添加一行

/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

docker:

搜索redis镜像

docker search redis

拉取镜像

docker pull redis

启动redis镜像

创建挂卷位置

mkdir -p /data/redis/data
mkdir -p /data/redis/redis.conf

下载redis.conf配置文件 redis.conf

修改配置文件

bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问

protected-mode no #默认yes,开启保护模式,限制为本地访问

daemonize no#默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程,改为yes会使配置文件方式启动redis失败

databases 16 #数据库个数(可选),我修改了这个只是查看是否生效。。

dir  ./ #输入本地redis数据库存放文件夹(可选)

appendonly yes #redis持久化(可选)

启动镜像

docker run --restart=always \
    --log-opt max-size=100m \
    --log-opt max-file=2 \
    -p 6379:6379 \
    --name redis \
    -v /data/redis/redis.conf:/etc/redis/redis.conf \
    -v /data/redis/data:/data \
    -d redis redis-server /etc/redis/redis.conf \
    --appendonly yes \
    --requirepass 123456
docker run --restart=always \
    --log-opt max-size=100m \
    --log-opt max-file=2 \
    -p 6379:6379 \
    --name redis \
    -d redis redis-server \
    --appendonly yes \
    --requirepass 123456

Redis4集群搭建

只对Linux环境下介绍。

假如有三台服务器,每台上面安装好如上面单节点安装所示。

先对/usr/local/redis/etc/redis.conf文件进行修改

cluster-enabled yes
protected-mode no
#bind 127.0.0.1  #该行注释

复制redis

cp -r /usr/local/redis /usr/local/redis2

修改redis2的redis.conf

port 6380

这样每台服务器上有两台redis服务器

添加一个启动脚本

vim /usr/local/redis/redis-all.sh
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
/usr/local/redis2/bin/redis-server /usr/local/redis2/etc/redis.conf

保存退出,执行

cd /usr/local/redis/
chmod +x redis-all.sh

在redis5.0后 创建集群统一使用redis-cli,之前的版本使用redis-trib.rb,但是需要安装ruby软件相对复杂,相比之前的版本5.0不需要安装额外的软件,方便。

命令为:

创建集群命令:其中 cluster-replicas 1 代表 一个master后有几个slave,1代表为1个slave节点

redis-cli --cluster create 127.0.0.1:6379  127.0.0.1:6380 --cluster-replicas 1 -a 12345678 

没有设置 -a 12345678添加密码,集群会创建失败

我们这里使用的是redis4.0,所以需要安装ruby

yum install ruby

建议下载版本5.0以上的,因为这里下载的可能只有2.0.0版本,但是redis需要2.2.2版本以上;

下载ruby地址:

https://cache.ruby-china.com/pub/ruby/ruby-2.6.5.tar.gz

解压并编译安装

tar xf ruby-2.6.5.tar.gz
cd ruby-2.6.5
./configure --prefix=/usr/local/ruby
make && make install

创建快捷键

ln -s /usr/local/ruby/bin/ruby /usr/bin/ruby
./redis-trib.rb create --replicas 1 127.0.0.1:6379 127.0.0.1:6380 127.0.0.2:6379 127.0.0.2:6380 127.0.0.3:6379 127.0.0.3:6380

如果需要密码的话,所有的配置需要修改:

masterauth passwd123
requirepass passwd123

并且修改redis-trib.rb文件

@r = Redis.new(:host => @info[:host], :port => @info[:port], :timeout => 60)

修改为:

@r = Redis.new(:host => @info[:host], :port => @info[:port], :timeout => 60, :password => "passwd123")

如果提示类似下面相关错误:

/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- redis (LoadError)
from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require'
from /usr/local/bin/redis-trib.rb:25:in `<main>'

解决方案:

https://rubygems.org/downloads/redis-4.0.1.gem

yum install ruby
# 因为yum安装ruby最高版本为2.0.0,所以还要重新安装一下ruby
cd ruby-2.6.5
./configure --prefix=/usr/local/ruby
make && make install
# 覆盖yum安装的默认版本
rm -f /usr/bin/ruby
ln -s /usr/local/ruby/bin/ruby /usr/bin/ruby
gem install redis-4.0.1.gem

Redis6集群搭建

使用说明

可以使用 Redis Desktop Manager进行链接查看。

相关资源

Redis 官网:https://redis.io/

源码地址:https://github.com/redis/redis

Redis 在线测试:http://try.redis.io/

Redis 命令参考:http://doc.redisfans.com/

Last Updated:
Contributors: chengli
Next
MongoDB