phpredis的安装在这里:http://blog.csdn.net/xundh/article/details/46288277
键值操作$redis = new redis();$redis->connect('127.0.0.1', 6379);//参数:connect(host,port,timeout)//timeout可以为空,在redis.conf里timeout默认300//pconnect不会主动关闭的连接
key//写入值$redis->set($work->uid, $workstring);$redis->setnx($work->uid,$workstring); //key不存在是赋值$redis->setex($a,50,1); //range设置值后ttl设为50$redis->setrange(key,offset,value);//获取值$redis->get($work->uid);//删除key$redis->del($work->uid);var_dump($redis->get($work->uid)); //返回bool(false)//键是否存在if(!$redis->exists('key')) var_dump($redis->del('key')); //返回int(0)
mset多个key操作//设置mset$array_mset=['a'=>1,'b'=>2];$redis->mset($array);$redis->msetnx($array); //key不存在时才写入,但一次要么全写,要么全不写。//读取mset$array_mget=['a','b'];$redis->mget($arram_mget);//删除多个key$redis->del($array_mget);
keys//读取keys$array_mset_keys=['abc'=>1,'bcd'=>2,'cde'=>3];$redis->keys('*a*'); //返回['a'=>1];$redis->keys('b'); //返回['b'=>2];$redis->keys('*'); //返回所有keys
getset key value设置值并返回旧值
strlen返回字符串长度
getrange(substr)字符串截取
rename键改名
$redis->rename('a','a1'); //成功返回true,键不存在时返回false,newkey已经存在其值会被覆盖;
renamex键改名,newkey存在时不改
$redis->renamex('a','a1'); //a1如果已经存在,返回0;
append字符串追加
$redis->append('a','12345') ;//如果a不存在,就是普通的set操作
incr储存的数字值增1
incrby值增increment
$redis->incrby('a',10);
decr数字值减1
decrby数字值减decrement
setbit key offset value设置或清除指定位
getbit key offset获取指定偏移量上的位
type返回key值类型
返回值有以下几种:
none (key不存在) int(0)
string 字符串 int(1)
list 列表 int(3)
set 集合 int(2)
zset 有序集合 int(4)
hash 哈希表 int(5)
randomkey随机返回一个key
echo $redis->randomkey(); //如果没有key 返回false
object查看对象
move移动数据
$redis->move('a',1)); //把键a从当前数据库移到1里。如果key不存在,返回false; 目标数据库存在key时,返回false.
hashhset key field value设置哈希值
hsetnx key field value不存在时设置值
hmset key field value[field value…]设置多个哈希值
hget key field获取hash域值
hmget key field [field …]获取若干个域值
hgetall key返回key所有域和值
hdel key field [field…]删除一个或多个域
hlen key返回key里域数量
hexists key field查看key里给定域的field是否存在
hincrby key field increment域值增加increment
hkeys key返回所有域
hvals key返回key所有值
表lpush key value[value…] 表头插入一个或多个值$redis->lpush('a',1);$redis->lpush('a',2);
lpushx key value当且仅当key存在并且是一个列表时才插入
rpush key value表尾插入
rpushx key valuelpop key移除并返回key头元素
rpop key移除并返回key的尾元素
blpop key [key…]timeout lpop的阻塞版本,如果没有可供弹出的元素,程序会等待。
brpop key [key…]timeout rpop的阻塞版本
llen key返回列表 key的长度
lrange key start stop返回区间
lrem key count value移除列表值为value的元素
count>0 从表头向表尾搜索,移除值为value的元素,数量为count
countsort('a'); //返回排序结果
alpha限定按字符排序$redis->sort('a',array('alpha'=>true)); //返回排序结果
limit限定返回数量$redis->sort('a',array('limit'=>array(0,5));
sort限定正序倒序$redis->sort('a',array('sort'=>'desc'));
by外部排序$redis->sort('a',array('by'=>''));
排序其它用法较多,这里不再详细一一列举。
生命周期ttl、expire、expireat$redis->set('a',12345);$redis->expire('a',30); //单位秒$redis->expireat('a','1435152916'); //接受时间戳echo $redis->get('a'); //如果已经过期,返回falseecho $redis->ttl('a'); //返回剩余时间(秒)。如果未赋expire值,返回-1;如果键不存在,也返回-1
persit移除生存时间$redis->persist('a');
数据库操作选择数据库$redis->select(0); //默认就是数据库0
清除$redis->flushall(); //删除所有数据库$redis->flushdb(); //删除当前数据库所有key
