篇一 :51CTO下载-PHP redis使用手册

phpredis是php的一个扩展

Redis::__construct构造函数

$redis = new Redis();

connect, open 链接redis服务

参数

host: string,服务地址

port: int,端口号

timeout: float,链接时长 (可选, 默认为 0 ,不限链接时间)

注: 在redis.conf中也有时间,默认为300

pconnect, popen 不会主动关闭的链接

参考上面

setOption 设置redis模式

getOption 查看redis设置的模式

ping 查看连接状态

get 得到某个key的值(string值)

如果该key不存在,return false

set 写入key 和 value(string值)

如果写入成功,return ture

setex 带生存时间的写入值

$redis->setex('key', 3600, 'value'); // sets key → value, with 1h TTL.

setnx 判断是否重复的,写入值

$redis->setnx('key', 'value');

$redis->setnx('key', 'value');

delete 删除指定key的值

返回已经删除key的个数(长整数)

$redis->delete('key1', 'key2');

$redis->delete(array('key3', 'key4', 'key5'));

ttl

得到一个key的生存时间

persist

…… …… 余下全文

篇二 :redis 安装配置

安装Redis并配置开机启动

李根明/2012-11-21

在redhat、centeros上使用,其他Linux版本未验证。

1,首先下载安装

/

tar–zxfredis-2.2.13.tar.gz

cdredis-2.2.13

make

makeinstall (可以不install,install的时候,redis的命令会被拷贝到/usr/local/bin下面)

为了以后方便,将redis.conf 放到/etc/下

cpredis.conf /etc/

2,建立用户与日志目录 (可以不设置)

第一次启动Redis前,建议为Redis单独建立一个用户,并新建data和日志文件夹

Useraddredis

mkdir–p/var/lib/redis

mkdir–p/var/log/redis

chownredis.redis/var/lib/redis#db文件放在这里,要修改redis.conf chownredis.redis/var/log/redis

3、配置redis.conf

配置文件参数说明:

1.Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程

daemonize no

2.当Redis以守护进程方式运行时,Redis默认会把pid写入

/var/run/redis.pid文件,可以通过pidfile指定

pidfile /var/run/redis.pid

3.指定Redis监听端口,默认端口为6379,为什么选用6379作为默认端口,因为6379在手机按键上MERZ对应的号码,MERZ取自意大利歌女AlessiaMerz port 6379

4. 绑定的主机地址

bind 127.0.0.1

5.当客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能 timeout 300

…… …… 余下全文

篇三 :redis缓存技术学习

1 什么是redis

redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。

2 性能怎么样

Redis是一个高性能的key-value内存数据库。官方性能测试结果:
set操作每秒110000次,get操作每秒81000次。

3 可不可以存对象

和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作。

4 Redis与memcache的最大区别

Replication(树形)

data types(String、Lists、Sorted Sets、Hashes)

persistence (snapshot、aof)

很多开发者都认为Redis不可能比Memcached快,Memcached完全基于内存,而Redis具有持久化保存特性,即使是异步的,Redis也不可能比Memcached快。但是测试结果基本是Redis占绝对优势。一直在思考这个原因,目前想到的原因有这几方面。

Libevent。和Memcached不同,Redis并没有选择libevent。Libevent为了迎合通用性造成代码庞大(目前Redis代码还不到libevent的1/3)及牺牲了在特定平台的不少性能。Redis用libevent中两个文件修改实现了自己的epoll event loop(4)。业界不少开发者也建议Redis使用另外一个libevent高性能替代libev,但是作者还是坚持Redis应该小巧并去依赖的思路。一个印象深刻的细节是编译Redis之前并不需要执行./configure。

…… …… 余下全文

篇四 :redis事务学习_IT168文库

redis事务学习

redis对事务的支持目前还比较简单。redis只能保证一个client发起的事务中的命令可以连续的执行,而中间不会插入其他client的命令。 由于redis是单线程来处理所有client的请求的所以做到这点是很容易的。一般情况下redis在接受到一个client发来的命令后会立即处理并 返回处理结果,但是当一个client在一个连接中发出multi命令有,这个连接会进入一个事务上下文,该连接后续的命令并不是立即执行,而是先放到一 个队列中。当从此连接受到exec命令后,redis会顺序的执行队列中的所有命令。并将所有命令的运行结果打包到一起返回给client.然后此连接就 结束事务上下文。下面可以看一个例子

redis> multi 1

OK 2

redis> incr a 3

QUEUED 4

redis> incr b 5

QUEUED 6

redis> exec 7

1. (integer) 1 8

2. (integer) 1 9

从这个例子我们可以看到incr a ,incr b命令发出后并没执行而是被放到了队列中。调用exec后俩个命令被连续的执行,最后返回的是两条命令执行后的结果

我们可以调用discard命令来取消一个事务。接着上面例子

1 redis> multi

2 OK

3 redis> incr a

4 QUEUED

5 redis> incr b

6 QUEUED

7 redis> discard

8 OK

9 redis> get a

"1" 10

redis> get b 11

"1" 12

可以发现这次incr a incr b都没被执行。discard命令其实就是清空事务的命令队列并退出事务上下文。

…… …… 余下全文

篇五 :redis学习文档

1、 tring是最简单的类型,一个key对应一个value。需要注意的是string类型可以被部分命令按整型处理。

第二个命令的值会覆盖第二个,

set name “yuhui”

set name “vic”

第二个命令的值无法覆盖第二个,setnx中的nx表示not exit的意思,即该key不存在时命令才会生效。

setnx lm “yuhui”

setnx lm “vic”

设置键值对,有效期为10秒,10秒后运行get hair返回null,

setex hair 10 "red"

mset和msetnx可以一次设置多个键值对,区别同set 和setnx,

对key的值做加加操作。注意incr一个不是int的value会返回错误。(incr一个不存在的key,则设置key为1。假如nx不存在,incr nx,则get nx返回1;如果incr nx换成incr nx 10就会返回错误)

set hh 10

incr hh 1

incrby类似incr。假如nx不存在,incrby nx 10,则get nx返回10;如果incrby nx 10换成incrby nx就会返回错误。

2、Redis 中的hash是一个string类型的key和value的映射表,注意key和value都是string类型。

设置key对应的值,第二个命令的值会覆盖第一个,

hset myhash key1 “Hello”

hset myhash key1 “Hel”

hsetnx中nx表示not exit的意思,即key不存在时命令才会生效,也即第二个命令的值无法覆盖第一个。

hsetnx myhash key2 “Hello”

hsetnx myhash key2 “Hel”

一次设置多个key对应的值,

…… …… 余下全文

篇六 :keepalived+redis部署手册

一、Redis和Keepalived安装

1、 以下步骤在121和122上均要进行一遍

2、 以root用户登录,

cd /usr/local

2、命令:mkdir ms40 新建ms40目录

3、cd ms40

4、mkdir redis && cd redis && mkdir log && mkdir data然后切回ms40目录

5、mkdir keepalived

6、上传文件redis-2.6.14.tar.gz至redis目录

上传文件keepalived-1.2.7.tar.gz至keepalived目录

7、安装redis

1)cd redis

2)tar zxvf redis-2.6.14.tar.gz

3)cd redis-2.6.14

4)make

5)cd src

6)cp redis-benchmark redis-cli redis-server /usr/bin/

7)切回至ms40目录

8、安装keepalived

1)cd keepalived

2)tar zxvf keepalived-1.2.7.tar.gz

3)yum install popt-devel

4)yum -y install openssl-devel

5)cd keepalived-1.2.7

6)./configure

7)make && make install

二、Keepalived配置

1、 转移keepalived的配置文件

1) cp /usr/local/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/ 2) cp /usr/local/etc/sysconfig/keepalived /etc/sysconfig/ 3) mkdir /etc/keepalived

…… …… 余下全文

篇七 :redis学习

redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Python,Ruby,Erlang,PHP客户端,使用很方便。问题是这个项目还很新,可能还不足够稳定,而且没有在实际的一些大型系统应用的实例。此外,缺乏mc中批量get也是比较大的问题,始终批量获取跟多次获取的网络开销是不一样的。

性能测试结果:

SET操作每秒钟 110000 次,GET操作每秒钟 81000 次,服务器配置如下:

Linux 2.6, Xeon X3320 2.5Ghz.

stackoverflow 网站使用 Redis 做为缓存服务器。

安装过程:

Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务 器。

Redis的所有数据都是保存在内存中,然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);也可以把每一次数据变化都写入到一个append only file(aof)里面(这称为“全持久化模式”)。

一、下载最新版

wget /files/redis-2.0.0-rc4.tar.gz

二、解压缩

tar redis-2.0.0-rc4.tar.gz

三、安装C/C++的编译组件(非必须)

apt-get install build-essential

四、编译

cd redis-2.0.0-rc4

make

make命令执行完成后,会在当前目录下生成本个可执行文件,分别是redis-server、redis-cli、redis-benchmark、redis-stat,它们的作用如下:

…… …… 余下全文

篇八 :Memcache-eAccelerator-APC-Xcache-Redis 五种php缓存加速器特点浅析

一、说说Memcached优化方案

Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度。 我想说:discuz官方论坛使用的正是Memcached内存优化方案,但是建议个人站长不要跟风,因为它的确不适合我们,Memcached作为高速运行的分布式缓存服务器主要用于分布式缓存,很多站长认为它会优化 PHP,其实不是这样的,所以很多站长使用Memcached优化方案后觉得速度上和没安装Memcached前没什么区别,就是因为这个道理。discuz官方很可能是集群部署方案,采用Memcached接口当然是没有问题的。

二、说说eAccelerator

eAccelerator是一个自由开放源码php加速器,优化和动态内容缓存,提高了php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销大大消除。 它还有对脚本起优化作用,以加快其执行效率。使PHP程序代码执效率能提高1-10倍。

我想说:这回eAccelerator才是php加速器,而刚才讲到的Memcached是内存优化器,二者本质上是有区分的。

eAccelerator主要用于单机PHP提速,缓存中间数据.对于实时性高,但数据操作量小的情况下,非常实用.

memcached用于分布式或者集群系统,多台服务器可以共享数据.对于实时性高,同时数据操作量大的情况下,非常实用.

所以如果您的站点不是分布式部署可以考虑用eAccelerator加速php。

三、说说Alternative PHP Cache(APC) 通常就用三个大写字母APC表示

简介:Alternative PHP Cache (APC)是一种对PHP有效的开放源高速缓冲储存器工具,他能够缓存Opcode(目标文件)的php中间码。 我想说:现在用的最多的可能就是APC了,因为它直接集成在php里了,只要在编译时加上参数就可以直接使用,而不用另外去下载插件。当初apc是几个opcode缓存器里最烂的,所以当时成天有人拿出来吐嘈(包括当时国内的phpe), 不过随着apc被php官方采纳,由php 团队维护后,前景开始明朗,而且apc开始拟定进军标准包计划。

…… …… 余下全文