安装redis和php的redis扩展

1、安装Redis php

在服务器上下载好最新的redis解压包后,解压linux

#tar -zxvf redis-3.2.0-tar-gzgit

#cd redis-3.2.0-tar-gzgithub

#make (redis-3.2.0-tar-gz是二进制包,因此不须要./configure命令。)redis

#cd src算法

#make install数据库

 

以后咱们须要将redis的文件复制到/usr/local/redis目录下vim

# mkdir -p /usr/local/redis/bin
# mkdir -p /usr/local/redis/etc
# cp -pf redis-benchmark /usr/local/redis/bin
# cp -pf redis-cli /usr/local/redis/bin
# cp -pf redis-check-dump /usr/local/redis/bin
# cp -pf redis-check-aof /usr/local/redis/bin
# cp -pf redis-server /usr/local/redis/bin
# cp -pf ../redis.conf /usr/local/redis/etc缓存

 

以后在redis的配置文件,将redis推送到后台运行安全

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

找到daemonize设置为yes(该项默认为no),保存

 

以后启动redis服务

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

 

输入pstree |grep redis可查看redis主程序是否存在

 

2、安装Redis扩展

下载地址:https://github.com/phpredis/phpredis

unzip phpredis-develop.zip 

cd phpredis-develop

/usr/bin/phpize

phpredis-develop]# ./configure --with-php-config=/usr/bin/php-config

make 

make install

 

以后在php配置文件中加入redis扩展

#vim /etc/php.ini

extension = "redis.so"

 

以后须要进行安全配置,使只有指定的ip地址可以访问redis

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

找到默认的配置

# bind 127.0.0.1

默认状况下,redis会暴露给全部ip地址,若是你只想让本机链接,则设置成bind 127.0.0.1

(多个ip用空格隔开)

 

如下配置介绍转载于http://my.oschina.net/wfire/blog/301147

#yes则将redis做为守护进程(后台运行,且随linux启动而启动)
daemonize no

#当redis做为守护进程运行的时候,它会把 pid 默认写到/var/run/redis.pid 文件里面,也可本身指定位置
pidfile /var/run/redis.pid

# 监听端口号,默认为 6379,若是你设为 0 ,redis 将不在 socket 上监放任何客户端链接。
port 6379

# TCP 监听的最大容纳数量
# 在高并发的环境下,你须要把这个值调高以免客户端链接缓慢的问题。
# Linux 内核会一言不发的把这个值缩小成 /proc/sys/net/core/somaxconn 对应的值,
# 因此你要修改这两个值才能达到你的预期。
tcp-backlog 511

# 指定 unix socket 的路径。
unixsocket /tmp/redis.sock
unixsocketperm 755

# 指定在一个 client 空闲多少秒以后关闭链接(0 就是无论它)
timeout 0

#若是设置为非零,则在与客户端缺少通信的时候使用 SO_KEEPALIVE 发送 tcp acks 给客户端。推荐一个合理的值就是60秒
tcp-keepalive 0

# 定义日志级别。
# 能够是下面的这些值:
# debug (适用于开发或测试阶段)
# notice (适用于生产环境)
# warning (仅仅一些重要的消息被记录)
loglevel notice

# 指定日志文件的位置
logfile ""

# 要想把日志记录到系统日志,就把它改为 yes,
# 也能够可选择性的更新其余的syslog 参数以达到你的要求
syslog-enabled no

# 设置 syslog 的 identity。
syslog-ident redis
 
# 设置 syslog 的 facility,必须是 USER 或者是 LOCAL0-LOCAL7 之间的值。
syslog-facility local0

# 设置数据库的数目。
# 默认数据库是 DB 0,你能够在每一个链接上使用 select <dbid> 命令选择一个不一样的数据库,
# 可是 dbid 必须是一个介于 0 到 databasees - 1 之间的值
databases 16

#redis持久化设置################################
# 存 DB 到磁盘:
#
#   格式:save <间隔时间(秒)> <写入次数>
#
#   根据给定的时间间隔和写入次数将数据保存到磁盘
#
#   下面的例子的意思是:
#   900 秒内若是至少有 1 个 key 的值变化,则保存
#   300 秒内若是至少有 10 个 key 的值变化,则保存
#   60 秒内若是至少有 10000 个 key 的值变化,则保存
#  
#   注意:你能够注释掉全部的 save 行来停用保存功能。
#   也能够直接一个空字符串来实现停用:
#   save ""
save 900 1
save 300 10
save 60 10000

# 默认状况下,若是 redis 最后一次的后台保存失败,redis 将中止接受写操做,
# 这样以一种强硬的方式让用户知道数据不能正确的持久化到磁盘,
# 不然就会没人注意到灾难的发生。
#
# 若是后台保存进程从新启动工做了,redis 也将自动的容许写操做。
#
# 然而你要是安装了靠谱的监控,你可能不但愿 redis 这样作,那你就改为 no 好了。
stop-writes-on-bgsave-error yes

# 是否在 dump .rdb 数据库的时候使用 LZF 压缩字符串
# 默认都设为 yes
# 若是你但愿保存子进程节省点 cpu ,你就设置它为 no ,
# 不过这个数据集可能就会比较大
rdbcompression yes

# 是否校验rdb文件
rdbchecksum yes

# 设置 dump 的文件位置
dbfilename dump.rdb

# 工做目录
# 例如上面的 dbfilename 只指定了文件名,
# 可是它会写入到这个目录下。这个配置项必定是个目录,而不能是文件名。
dir ./

#主从复制设置#######################################

# 主从复制。使用 slaveof 来让一个 redis 实例成为另外一个reids 实例的副本。
# 注意这个只须要在 slave 上配置。
#
# slaveof <masterip> <masterport>
 
# 若是 master 须要密码认证,就在这里设置
# masterauth <master-password>
 
# 当一个 slave 与 master 失去联系,或者复制正在进行的时候,
# slave 可能会有两种表现:
#
# 1) 若是为 yes ,slave 仍然会应答客户端请求,但返回的数据多是过期,
#    或者数据多是空的在第一次同步的时候
#
# 2) 若是为 no ,在你执行除了 info he salveof 以外的其余命令时,
#    slave 都将返回一个 "SYNC with master in progress" 的错误,
#
slave-serve-stale-data yes

# 你能够配置一个 slave 实体是否接受写入操做。
# 经过写入操做来存储一些短暂的数据对于一个 slave 实例来讲多是有用的,
# 由于相对从 master 从新同步数而言,据数据写入到 slave 会更容易被删除。
# 可是若是客户端由于一个错误的配置写入,也可能会致使一些问题。
#
# 从 redis 2.6 版起,默认 slaves 都是只读的。
# 注意:只读的 slaves 没有被设计成在 internet 上暴露给不受信任的客户端。
# 它仅仅是一个针对误用实例的一个保护层。
slave-read-only yes

# Slaves 在一个预约义的时间间隔内发送 ping 命令到 server 。
# 你能够改变这个时间间隔。默认为 10 秒。
#
# repl-ping-slave-period 10

#安全#######################################
#设置密码
requirepass 12345678

#限制#######################################
# 设置链接最大限制,一旦达到最大限制,redis 将关闭全部的新链接
# 并发送一个‘max number of clients reached’的错误。
maxclients 10000

# 若是你设置了这个值,当缓存的数据容量达到这个值, redis 将根据你选择的
# eviction 策略来移除一些 keys。
# 若是 redis 不能根据策略移除 keys ,或者是策略被设置为 ‘noeviction’,
# redis 将开始响应错误给命令,如 set,lpush 等等,
# 并继续响应只读的命令,如 get
# 最大使用内存
maxmemory <bytes>

# 最大内存策略,你有 5 个选择。
# volatile-lru -> 使用 LRU 算法移除包含过时设置的 key 。
# allkeys-lru -> 根据 LRU 算法移除全部的 key 。
# noeviction -> 不让任何 key 过时,只是给写入操做返回一个错误
# volatile-random -> remove a random key with an expire set
# allkeys-random -> remove a random key, any key
maxmemory-policy noeviction
相关文章
相关标签/搜索