debian php redis,debian6 Redis+phpredis安装

最近在使用redis,刚开始学习,一点一点慢慢积累,根据需求打算最终替换我的mysql库中的一个表,关于redis的介绍google之,下面先开始安装吧,使用系统为debian6。

下载最新的稳定版redis

wget http://redis.googlecode.com/files/redis-2.4.16.tar.gz

安装

tar xzf redis-2.4.16.tar.gz

cd redis-2.4.16

make

cp src/redis-server /usr/bin/

cp src/redis-cli /usr/bin/

cp src/redis-check-aof /usr/bin/

cp src/redis-check-dump /usr/bin/

cp src/redis-benchmark /usr/bin/

编写redis启动脚本:/etc/init.d/redis-server

#! /bin/sh

### BEGIN INIT INFO

# Provides:redis-server

# Required-Start:$syslog $remote_fs

# Required-Stop:$syslog $remote_fs

# Should-Start:$local_fs

# Should-Stop:$local_fs

# Default-Start:2 3 4 5

# Default-Stop:0 1 6

# Short-Description:redis-server - Persistent key-value db

# Description:redis-server - Persistent key-value db

### END INIT INFO

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

DAEMON=/usr/bin/redis-server

DAEMON_ARGS=/etc/redis/redis.conf

NAME=redis-server

DESC=redis-server

PIDFILE=/var/run/redis.pid

test -x $DAEMON || exit 0

test -x $DAEMONBOOTSTRAP || exit 0

set -e

case "$1" in

start)

echo -n "Starting $DESC: "

touch $PIDFILE

chown root:root $PIDFILE

if start-stop-daemon --start --quiet --umask 007 --pidfile $PIDFILE --chuid root:root --exec $DAEMON -- $DAEMON_ARGS

then

echo "$NAME."

else

echo "failed"

fi

;;

stop)

echo -n "Stopping $DESC: "

if start-stop-daemon --stop --retry 10 --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON

then

echo "$NAME."

else

echo "failed"

fi

rm -f $PIDFILE

;;

restart|force-reload)

${0} stop

${0} start

;;

*)

echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload}" >&2

exit 1

;;

esac

exit 0

制定配置文件/etc/redis/redis.conf,在redis的源码包中有一个redis.conf配置文件,拷贝至/etc/redis目录下,启动redis:/etc/init.d/redis-server start 即可启动redis,当然不使用启动脚本也是可以的,直接使用redis-server命令启动redis服务,需要在启动时手动指定一个redis.conf配置文件即可。

简单测试

root@redis#redis-cli

redis 127.0.0.1:6379> set redis test

OK

redis 127.0.0.1:6379> get redis

"test"

redis 127.0.0.1:6379>

redis.conf详解

#是否以后台进程运行,默认是no改为yes

daemonize yes

#如果以后台进程运行,需要指定一个pid文件

pidfile /var/run/redis.pid

#服务监听端口

port 6379

#默认是注释掉的,监听所有端口,修改

bind 192.168.1.1

#客户端连接空闲多少秒后断开连接,0表示禁用该功能

timeout 0

#日志级别,有debug、notice、waring、verbose等模式

loglevel verbose

#日志记录方式,如果以后台进程运行,日志输出至/dev/null

logfile stdout

#是否把日志记录进syslog

syslog-enabled no

#指定syslog标记,默认注释

syslog-ident redis

#指定记录进syslog的级别,默认注释

syslog-facility local0

#设置数据库的数量,默认为0

databases 16

############ SNAPSHOTTING ############

#在多长时间内有多少次更新操作就把数据保存到硬盘

#save 可以有多条规则

save 900 1

save 300 10

save 60 10000

#当dump数据至.rdb时是否开启LZF压缩,为了节省cpu可以关闭,默认开启。

rdbcompression yes

#指定本地数据库文件名

dbfilename dump.rdb

#本地数据库存放路径

dir /opt

############ REPLICATION ##############

#本机为从服务时设置主的ip和端口

#slaveof

#当主使用requirepass设置了密码时,从连接主需要密码

#masterauth

#当从失去到主的连接,从的响应可以有两种行为,设置为yes时仍然响应客户端请求,

#设置为no时,给客户端响应error sync

slave-serve-stale-data yes

#从每隔多长时间ping一次主,单位为秒

#repl-ping-slave-period 10

#Bulk transfer I/O timeout或者主的data/ping响应超时

#repl-timeout 60

################ SECURITY ###############

#客户端在执行命令前需要经过密码验证

requirepass passwd

################ LIMITS ################

#允许客户端同时连接的最大链接数,默认没有限制,0表示没限制,当达到最大限制后

#如果有新的连接过来,则会返回max number of clients reached

maxclients 128

#设置redis可以使用的最大内存,当达到限制后redis会根据策略maxmemmory-policy移除相关key,如果根据策略设置不能移除相关key,redis返回一个错误。

maxmemory 1G

#当达到最大使用内存后,redis在移除key时使用的策略。

#volatile-lru -> remove the key with an expire set using an LRU algorithm

#allkeys-lru -> remove any key accordingly to the LRU algorithm

#volatile-random -> remove a random key with an expire set

#allkeys->random -> remove a random key, any key

#volatile-ttl -> remove the key with the nearest expire time (minor TTL)

#noeviction -> don't expire at all, just return an error on write operations

maxmemory-policy volatile-lru

################ APPEND ONLY MODE #########

#是否在每次更新操作后把数据立即更新进磁盘中,开启后redis会把每个写操作追加进appendonly.aof文件中,这个紧急在开启redis服务时被加载

appendonly no

#指定更新日志文件名

appendfilename appendonly.aof

#指定更新日志条件,调用系统的fsync()把数据写入磁盘中,有三种模式:

#no 等待操作系统本身自己同步buffer数据,快

#always 每次更新log后同步数据,慢但安全

#everysec 每秒同步一次,折中做法

appendfsync everysec

#

no-appendfsync-on-rewrite no

#自动重写aof文件,0表示禁用此功能

auto-aof-rewrite-percentage 100

#定义在重写aof文件前,aof文件的最小值

auto-aof-rewrite-min-size 64mb

################### SLOW LOG ##############

#慢查询记录,值记录命令操作时间,不包括同客户端连接之类的I/O操作,记录操作时间大于N微秒的,如果设置为负数,则禁用此功能

slowlog-log-slower-than 10000

#设置慢查询日志长度,默认是么有限制的,但是它会占用内存,所以最好限制一下

slowlog-max-len 128

############## VIRTUAL MEMORY ############

#vm机制在redis2.4中强烈不建议使用,

#是否开启vm机制

vm-enabled no

#虚拟内存文件存放路径,多个redis进程不能共享同一个文件

vm-swap-file /tmp/redis.swap

#将所有大于vm-max-memory的数据存入虚拟内存,0表示所有数据都存储在虚拟内存

vm-max-memory 0

#swap文件被分割成pages,对象可以存储在多个pages中,但是pages不能被多个对象共享,所以page大小定义得合适,单位bytes

vm-page-size 32

#swap文件中的内存页数,在磁盘上的每8 page会消耗1 byte,swap文件的大小是vm-page-size * vm-pages

vm-pages 134217728

#在同时读写swap文件的进程数

vm-max-threads 4

############### ADVANCED CONFIG #########

#当hash中包含超过指定元素个数且最大的元素没有超过临界值,hash将以特殊的编码方式来存储

hash-max-zipmap-entries 512

#hash中一个元素的最大值

hash-max-zipmap-value 64

#同hash

list-max-ziplist-entries 512

list-max-ziplist-value 64

#同hash

set-max-intset-entries 512

#同hash set

zset-max-ziplist-entries 128

zset-max-ziplist-value 64

activerehashing yes

################# INCLUDES ############

#可以包含其他配置文件

#include /path/to/local.conf

#include /path/to/other.conf

安装phpredis

下载phpredis扩展

git clone https://github.com/nicolasff/phpredis.git

安装

cd phpredis

phpize

./configure

make

make install

redis.so 默认被安装在源码的modules目录,拷贝redis.so到适当的位置,debian6中是/usr/lib/php5/20090626/

安装完毕后,默认是不会开启phpredis模块的,还需要手动开启,在/etc/php5/conf.d目录下建立redis.ini文件,内容为:extension=redis.so

重启apache,编写info()php文件,会看到redis信息,php -m 也可以看到。

安装完毕后,就该实战了,希望我的项目可以顺利完成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值