美文网首页
Redis 总结

Redis 总结

作者: 末池桑 | 来源:发表于2020-03-14 17:45 被阅读0次

Redis 简介

Redis 是一个开源的以 key -value 形式进行存储的 NoSQL 数据库,使用 C 语言写成的,数据存储于内存中,存取效率高,但是其并不能完全代替关系型数据库,特别适合当做项目中的缓存来使用,将一些使用频率高改动频率小的数据存储于 Redis 当做缓存使用。

Redis 持久化

Redis 有两种持久化(内存保存至硬盘)方式:

  • 快照方式(RDB)
    默认的持久化策略,将内存中的数据在一定的时间内以快照的方式从内存中写入到二进制文件中,文件名默认为 dump.rdb,可以用 save 或者 bgsave 来做一次快照持久化。
    注:假如 redis 宕机的话,最后一次快照持久化之后的修改数据都会丢失。
  • 日志追加方式(AOF)
    监听 Redis 的日志文件,监听如果发现执行了修改、删除、新增命令,就会把数据持久化,没什大的作用,因为 Redis 当做缓存来用的话本身要求就是要快速读取,这样子效率就变低了。

Redis 安装

  • 安装 gcc 用于编译 Redis
    sudo yum install gcc c++
    sudo apt-get install gcc c++

  • 解压 redis-5.0.7 软件包,点击此处下载
    sudo tar -zxvf redis-5.0.7.tar.gz -C /opt

  • 安装 redis
    进入 /opt/redis-5.0.7/src 下:sudo make install PREFIX=/opt/redis
    注:PREFIX=/opt/redis 代表安装在 /opt/redis 目录,报错的话加上 MALLOC=libc 参数。

  • 配置守护进程(后台运行):
    复制配置文件:sudo cp ../../redis-5.0.7/redis.conf /opt/redis/bin/
    修改 daemonize no 改为 daemonize yes : sudo vim redis.conf

  • 设置密码
    修改 requirepass 的值,即是密码:sudo vim redis.conf
  • 开启 redis 服务(以配置文件 redis.conf 方式开启)
    ./redis-server redis.conf

  • 进入 redis
    -h :主机
    -p:端口号
    -a :密码
    ./redis-cli -h 192.168.139.132 -p 6379 -a password
    注意:redis 默认没设密码,./redis-cli 的话默认进入 6379 端口!

  • 关闭 redis 服务
    ./redis-cli -h 192.168.139.132 -p 6379 shutdown
    注意:关闭时切记带上 -p 参数,否则默认关闭的是 6379端口。

假如不是 root 用户开启的,切记需要配置 /opt/redis 文件目录的读取权限,要不然 dump.rdb 会无法创建,导致关闭服务报错,如下图,dump.rdb 是 guan 创建的而不是 root 创建:

Redis 主从配置

为了减轻 redis 访问压力,可以做主从配置,实现读写分离,来减缓 redis 主服务器的压力。一个 master 主服务可以对应多个 slave 从服务,一个 slave 只能对应一个 master,master 能读能写,slave 只能读不能写。只需更改从服务器配置文件即可,主服务器不需更改,条件有限,以单台主机部署伪集群为例(多个 redis 服务使用不同端口)。配置步骤如下:

  • 复制 slave 服务器
    将安装好后的 redis/bin 复制一份到 /opt/redis下,取名 redis-c1
    cp -r /opt/redis/bin ../redis-c1

  • 修改配置文件 redis.conf
    vim redis.conf ,port 值改为 3545 ,replicaof 中添加 master 的 ip 和 port,假如 master 设置了密码,还需要设置 masterauth 。

  • 启动从服务器
    ./redis-server redis.conf

  • 查看配置是否生效
    ./redis-cli -p 3545 ,./redis-cli -p 7000分别进入主从服务器使用 info 命令,如下图结果配置生效:

Jedis API 使用

  • pom 依赖,
    <dependencies>
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>3.1.0</version>
        </dependency>
    </dependencies>
  • 使用如下:

相关文章

网友评论

      本文标题:Redis 总结

      本文链接:https://www.haomeiwen.com/subject/iuoijhtx.html