一、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这二项,参考下面修改

  1. maxmemory 2048mb
  2. maxmemory-policy allkeys-lru

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

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

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

其中:

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

mac下搭建redis环境的更多相关文章

  1. 初识redis——mac下搭建redis环境

    一.redis简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有 ...

  2. mac下搭建lua环境

    mac下安装lua(可借助:rudix 地址:http://rudix.org) curl -s https://raw.githubusercontent.com/rudix-mac/rpm/201 ...

  3. 一步步学习Python-django开发-Mac下搭建Python-Django环境

    首先确定学习那一个版本,以之前对Python的接触,Python2.x 的版本仍然占据很大的市场.但作为初学者我还是决定学习新的版本,相信未来会逐渐转向3.x版本的. 其实搭建Python不是一件很难 ...

  4. Mac下搭建selenium环境

    1,安装selenium 打开terminal,使用以下命令安装selenium:   pip install -U selenium 2,下载chromedriver,并放在python的安装根目录 ...

  5. Mac下搭建atx2环境

    Git-atx2官网地址,默认已有python3环境 1.安装rethinkdb 安装db:mac上安装很简单,执行brew install rethinkdb 启动db:nohup rethinkd ...

  6. mac下搭建MySql环境基本步骤

    准备工作做完后,开始: 创建数据库 step1: 在mac中->系统偏好设置->最下边点MySQL 在弹出页面中 关闭mysql服务(点击stop mysql server) step2: ...

  7. mac下搭建MySql环境

    准备工作做完后,开始: 创建数据库 step1: 在mac中->系统偏好设置->最下边点MySQL 在弹出页面中 关闭mysql服务(点击stop mysql server) step2: ...

  8. mac下搭建react-native环境

    1.安装Homebrew 2.安装node(最好安装4.x以上版本这样就自带了一个npm) 3.安装npm(node的包管理工具) 一般高版本的npm在安装node的时候已经具有了 4.安装react ...

  9. mac下搭建cordova开发环境

    Apache Cordova 原名叫PhoneGap.是一个用基于HTML,CSS和JavaScript的,创建移动跨平台移动应用程序的快速开发平台.PhoneGap最初由Nitobi开发,2011年 ...

随机推荐

  1. word2vec 中的数学原理详解

    word2vec 是 Google 于 2013 年开源推出的一个用于获取 word vector 的工具包,它简单.高效,因此引起了很多人的关注.由于 word2vec 的作者 Tomas Miko ...

  2. Java 计算N阶乘末尾0的个数-LeetCode 172 Factorial Trailing Zeroes

    题目 Given an integer n, return the number of trailing zeroes in n!. Note: Your solution should be in ...

  3. Vertica DBD 分析优化设计

    DBD = Database Designer,是Vertica数据库优化中最主要的原生工具. 首先运行admintools工具,按下面步骤依次执行: 1.选择"6 Configuratio ...

  4. 你真的会玩SQL吗?和平大使 内连接、外连接

    你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...

  5. 代码的坏味道(7)——临时字段(Temporary Field)

    坏味道--临时字段(Temporary Field) 特征 临时字段的值只在特定环境下有意义,离开这个环境,它们就什么也不是了. 问题原因 有时你会看到这样的对象:其内某个实例变量仅为某种特定情况而设 ...

  6. 简简单单学会C#位运算

    一.理解位运算 要学会位运算,首先要清楚什么是位运算?程序中的所有内容在计算机内存中都是以二进制的形式储存的(即:0或1),位运算就是直接对在内存中的二进制数的每位进行运算操作 二.理解数字进制 上面 ...

  7. MVC5+EF6+AutoMapper+Bootstrap打造在线博客(1.1)

    DAL层的三个Model类: 字典表:CFDict 用户表:CFUser 用户爱好表:CFUserHobby(关联cfuser表和cfdict表) CFUser表和CFUserHobby表是一对多关系 ...

  8. 最小生成树计数 bzoj 1016

    最小生成树计数 (1s 128M) award [问题描述] 现在给出了一个简单无向加权图.你不满足于求出这个图的最小生成树,而希望知道这个图中有多少个不同的最小生成树.(如果两颗最小生成树中至少有一 ...

  9. DS 工作室

    如果你想租用我,QQ:26959368 价格可以详细谈哦, 1. 企业信息化过程中问题的免费咨询: 2. Office 365.Sharepoint Online .Azure 云的咨询服务. 3. ...

  10. react-native Simulator com+r不能刷新模拟器

    这个问题是我按了com + shift + K 调出Simulatior 的时候出现的, 然后虚拟机就刷新不了了, 怎么按com+r都不好使. 在Simulatior的菜单栏选择Hardware -- ...