zoukankan      html  css  js  c++  java
  • mac下搭建redis环境

    一、redis简介

    redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
    Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。
     
    二、redis环境搭建
     
    1、到官网上下载redis,我下载的版本是3.0.7
    官网地址:http://redis.io/
    2、将下载下来的tar.gz 压缩包拷贝到usr/local目录下
    该目录需要root权限 sudo cp redis-3.0.7.tar.gz /usr/local
    3、使用终端进入local文件夹中,解压该压缩文件
    sudo tar -zxf redis-3.0.7.tar.gz
    4、编译测试:sudo make test
    5、redis安装: sudo make install
    至此,安装已完成、不过还需将redis配置一下
     
    ==================================
    配置
    1、在usr/local目录中创建三个文件夹,包括bin,etc,db三个目录
    sudo mkdir /usr/local/bin
    sudo mkdir /usr/local/etc
    sudo mkdir /usr/local/db
    2、将redis-3.0.7目录中的mkreleasehdr.sh,redis-benchmark, redis-check-dump, redis-cli, redis-server拷贝到bin目录
    sudo cp /usr/local/redis-3.0.7/src/mkreleasehdr.sh ./bin
    ............
    ............
    3、进入redis/etc目录下创建redis.conf配置文件
    sudo vim redis.conf 
    4、在redis.conf中添加如下代码
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    #修改为守护模式
     
    daemonize yes
     
    #设置进程锁文件
     
    pidfile /usr/local/redis/redis.pid
     
    #端口
     
    port 6379
     
    #客户端超时时间
     
    timeout 300
     
    #日志级别
     
    loglevel debug
     
    #日志文件位置
     
    logfile /usr/local/redis/log-redis.log
     
    #设置数据库的数量,默认数据库为0,可以使用SELECT <dbid>命令在连接上指定数据库id
     
    databases 8
     
    ##指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合
     
    #save <seconds> <changes>
     
    #Redis默认配置文件中提供了三个条件:
     
    save 900 1
     
    save 300 10
     
    save 60 10000
     
    #指定存储至本地数据库时是否压缩数据,默认为yes,Redis采用LZF压缩,如果为了节省CPU时间,
     
    #可以关闭该#选项,但会导致数据库文件变的巨大
     
    rdbcompression yes
     
    #指定本地数据库文件名
     
    dbfilename dump.rdb
     
    #指定本地数据库路径
     
    dir /usr/local/redis/db/
     
    #指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能
     
    #会在断电时导致一段时间内的数据丢失。因为 redis本身同步数据文件是按上面save条件来同步的,所以有
     
    #的数据会在一段时间内只存在于内存中
     
    appendonly no
     
    #指定更新日志条件,共有3个可选值:
     
    #no:表示等操作系统进行数据缓存同步到磁盘(快)
     
    #always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全)
     
    #everysec:表示每秒同步一次(折衷,默认值)
     
    appendfsync everysec

    将文件保存退出

    进入etc目录下 启动redis

    sudo ../bin/redis-server ./redis.conf

    启动完成后,实时查看启动日志

    tail -f /usr/local/redis/log-redis.log

    至此,redis 搭建完成,默认端口是6379

    若想停止redis  进入bin目录

    命令:redis-cli shutdown

    停止redis

    三、停止redis

    ./redis-cli -p 7030 shutdown

    为了以后运维更轻松,可以利用alias做几个别名,

    vi ~/.bashrc

    alias redis="cd /opt/app/redis/redis-2.8.17/src"
    alias startRedis="/opt/app/redis/redis-2.8.17/src/redis-server /opt/app/redis/redis-2.8.17/conf/redis7030.conf"
    alias stopRedis="/opt/app/redis/redis-2.8.17/src/redis-cli -p 7030 shutdown"

    具体路径,大家根据实际情况调整,保存退出,重新连接到linux终端

    redis 即可直接进入redis根目录

    startRedis 即启动redis

    stopRedis 即停止redis

    四、配置redis仅做为缓存使用

    如果不打算使用事务、管线等一堆复杂功能,仅仅把redis当成cache server使用,可以在配置文件中,找到maxmemory、maxmemory-policy这二项,参考下面修改

    maxmemory 2048mb
    maxmemory-policy allkeys-lru

     即:最大允许使用2G内存,所有key全都按LRU(近期最少使用)算法淘汰,这种情况下,不用设置过期时间,只要内存使用达到上限,不怎么使用的key自然被干掉。

    附:redis.conf的微优化配置(从百度百科上抄过来的)

    复制代码
     1 daemonize yes
     2 
     3 pidfile /opt/app/redis/redis-2.8.17/var/redis.pid
     4 
     5 port 7030
     6 
     7 timeout 300
     8 
     9 loglevel debug
    10 
    11 logfile /opt/app/redis/redis-2.8.17/var/redis.log
    12 
    13 databases 16
    14 
    15 save 9001
    16 
    17 save 30010
    18 
    19 save 6010000
    20 
    21 rdbcompression yes
    22 
    23 dbfilename dump.rdb
    24 
    25 dir /opt/app/redis/redis-2.8.17/var/
    26 
    27 appendonly no
    28 
    29 appendfsync always
    30 
    31 # slaveof <masterip> <masterport>
    32 # masterauth <master-password>
    33 
    34 slave-serve-stale-data yes
    35 
    36 slave-read-only yes
    37 
    38 maxmemory 1gb
    39 
    40 maxmemory-policy allkeys-lru
    复制代码

    其中:

    端口、38行-最大内存使用量、以及var目录路径,大家根据实际情况自行调整

  • 相关阅读:
    根据IP地址查找MAC地址
    MongoDB导入导出以及数据库备份
    本地mongodb数据库导出到远程数据库中
    datatable自动增加序号
    IDEA出现无法加载主类
    远程连接本地mongodb 数据库
    js将后台传入得时间格式化
    Java蓝桥杯--基础练习 (6)回文数
    Java蓝桥杯--基础练习(5)杨辉三角形
    Java蓝桥杯--基础练习(4)查找整数
  • 原文地址:https://www.cnblogs.com/xinjie10001/p/6240422.html
Copyright © 2011-2022 走看看