0%

Linux下源码安装Redis

基本知识

1、Redis的数据类型:

  字符串、列表(lists)、集合(sets)、有序集合(sorts sets)、哈希表(hashs)

2、Redis和memcache相比的独特之处:

  (1)redis可以用来做存储(storge)、而memcache是来做缓存(cache)。这个特点主要是因为其有“持久化”功能

  (2)存储的数据有“结构”,对于memcache来说,存储的数据,只有一种类型——“字符串”,而redis则可以存储字符串、链表、集合、有序集合、哈序结构

3、持久化的两种方式:

  Redis将数据存储于内存中,或被配置为使用虚拟内存。

  实现数据持久化的两种方式:(1)使用截图的方式,将内存中的数据不断写入磁盘(性能高,但可能会引起一定程度的数据丢失)

               (2)使用类似mysql的方式,记录每次更新的日志

4、Redis的主从同步:对提高读取性能非常有益

5、Redis服务端的默认端口是6379

  1. Download Redis源码包

    下载地址:http://redis.io/download,下载最新稳定版本

    1
    2
    $ cd ~
    $ wget http://download.redis.io/releases/redis-5.0.3.tar.gz
  2. 解压并进入其目录

    1
    $ tar xzvf redis-5.0.3.tar.gz
  3. 编译并安装

    1
    2
    3
    4
    $ cd redis-5.0.3
    $ make MELLOC=libc
    $ cd src
    $ make install PREFIX=/usr/local/redis

    注意:必须使用make MELLOC=libc来编译,否则编译安装时会报错

  4. 将默认redis.conf 配置文件复制到/usr/local/redis/etc/ 目录下

    1
    2
    $ cd ~
    $ cp /root/redis-5.0.3/redis.conf /usr/local/redis/etc/

    默认情况,redis不是在后台运行,我们需要把redis放在后台运行

    1
    $ vim /usr/local/redis/etc/redis.conf

    将daemonize的值改为yes

  1. 启动redis服务

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

    检查是否有redis进程

    1
    $ ps -ef | grep 6379
  2. 客户端连接

    1
    $ /usr/local/redis/bin/redis-cli  -h 127.0.0.1 -p 6379

    设置键值对: set mykey abc
    取出键值对: get mykey

  3. 停止redis实例

    1
    2
    3
    4
    5
    $ /usr/local/redis/bin/redis-cli shutdown

    # 或者

    $ pkill redis-server
  4. 让redis开机自启

    1
    $ vim /etc/rc.local

    添加:

1
2
3
4
5
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

# 或者

sudo -i -u root /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf > /root/redis_startup.log 2>&1
  1. 在CentOS 7下需增加/etc/rc.d/rc.local的执行权限才能使/etc/rc.local生效

    1
    $ chmod +x /etc/rc.d/rc.local

    注:请参考《CentOS 7开机/etc/rc.local 不执行的问题》- http://wangying.sinaapp.com/archives/2105

/usr/local/redis/bin目录下的文件:

  redis-benchmark:redis性能测试工具

  redis-check-aof:检查aof日志的工具

  redis-check-dump:检查rdb日志的工具

  redis-cli:连接用的客户端

  redis-server:redis服务进程