设为首页 收藏本站
查看: 1460|回复: 0

[经验分享] mac下搭建redis环境

[复制链接]

尚未签到

发表于 2017-7-7 23:22:26 | 显示全部楼层 |阅读模式
  一、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中添加如下代码












#修改为守护模式



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
DSC0000.png

  至此,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的微优化配置(从百度百科上抄过来的)




DSC0001.gif
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目录路径,大家根据实际情况自行调整

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-391397-1-1.html 上篇帖子: mac终端命令 下篇帖子: mac下安装libpng环境
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表