简单介绍:
redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hashs(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。
区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
overcommit_memory文件指定了内核针对内存分配的策略,其值可以是0、1、2
0,表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2, 表示内核允许分配超过所有物理内存和交换空间总和的内存。
/etc/sysctl.conf
vm.overcommit_memory=1
Redis 由四个可执行文件:redis-benchmark、redis-cli、redis-server、redis-stat这四个文件,加上一个redis.conf就构成了整个redis的最终可用包。它们的作用如下:
・redis-server:Redis服务器的daemon启动程序
・redis-cli:Redis命令行操作工具。也可以用telnet来操作。
・redis-benchmark:Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能。
・redis-stat:Redis状态检测工具,可以检测Redis当前状态参数及延迟状况。
redis.conf的主要配置参数的意义
daemonize:是否以后台daemon方式运行
port:监听的端口号
loglevel:log信息级别
databases:开启数据库的数量
rdbcompression:是否使用缩
dbfilename:数据快照文件名(只是文件名,不包括目录)
dir:数据快照的保存目录(这个是目录)
pidfile:pid文件位置
timeout:请求超时时间
logfile:log文件位置
save* *:保存快照的频率,第一个*表示多长时间,第三个*表示执行多少次写操作。在一定时间内执行一定数量的写操作时,自动保存快照。可设置多个条件。
appendonly:是否开启appendonlylog,开启的话每次写操作会记一条log,这会提高数据抗风险能力,但影响效率。
appendfsync:appendonlylog如何同步到磁盘(三个选项,分别是每次写都强制调用fsync、每秒启用一次fsync、不调用fsync等待系统自己同步)
1、安装redis
wget https://redis.googlecode.com/files/redis-2.6.13.tar.gz
tar zxvf redis-2.6.14.tar.gz
cd redis-2.6.14
make && make install
cp redis.conf /etc/
mkdir /usr/local/redis/data #创建redis数据库目录
vi /etc/redis.conf
daemonize=yes
dir /usr/local/redis/data #指定redis数据库目录
vi /etc/sysctl.conf #分配内存分配策略,添加如下
vm.overcommit_memory=1
2、启动redis
redis-server /etc/redis.conf
netstat -tupln| grep 6379
tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN 15342/redis-server
echo "redis-server /etc/redis.conf" >> /etc/rc.local #设置开机启动
3、测试redis
[root@test ~]#redis-cli #登陆redis
redis127.0.0.1:6379> set name "test"
OK
redis 127.0.0.1:6379>get name
"test"
redis127.0.0.1:6379> type name
string
redis127.0.0.1:6379> quit
4、关闭redis
redis-cli shutdown
5、安装php-redis扩展
下载redis扩展包:https://github.com/owlient/phpredis
unzip phpredis-master
cd phpredis-master
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
vi /usr/local/php/etc/php.ini #加载redis库
extension=redis.so
service httpd restart
查看phpinfo加载了redis模块!