php-redis代码库和文档地址:https://github.com/phpredis/phpredis/#readme
string 字符串类型:
<?php $redis = new Redis(); $redis->connect("127.0.0.1", 6379); $redis->auth(''); //登录 $redis->select(1); /** * string类型 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * * 增 * 返回值:Boolean */ $ret = $redis->set('key', 'value'); //第一个参数为键,第二个参数为值 $ret = $redis->setex('key', 20, 'value'); //第二个参数为生命周期(单位秒) $ret = $redis->mset(array('key-1' => 'value-1', 'key-2' => 'value-2', 'key-3' => 'value-3')); //批量写入 $ret = $redis->setnx('key', 'value'); //如果键名“key”存在则不写入,否则写入 /** * 删 * 返回值:integer */ $ret = $redis->del('key'); //删除单个 key-value $ret = $redis->del(array('key-2', 'key-3')); //批量删除 key-value /** * 修 */ $ret = $redis->set('key', 'value-1'); //修改,返回值:Boolean $ret = $redis->incr('total'); //自增,返回值:integer $ret = $redis->incrby('total', 10); //指定步进自增,返回值:integer $ret = $redis->decr('total'); //自减,返回值:integer $ret = $redis->decrby('total', 12); //指定步进自减,返回值:integer /** * 查 * 返回值:string */ $ret = $redis->get('key'); //获取 $ret = $redis->mget(array('key-1', 'key-2')); //批量获取,没有key时获取的值是false
var_dump($ret);
list 列表类型(也是链表类型):
<?php $redis = new Redis(); $redis->connect("127.0.0.1", 6379); $redis->auth(''); //登录 $redis->select(1); /** * List类型(链表) +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * * 增 * 返回值 integer,key内值的个数 */ $ret = $redis->lpush('list','left-list-value'); //左侧插入一个值 $ret = $redis->lpush('list','left-list-value1', 'left-list-value2'); //左侧批量插入值 $ret =$redis->rpush('list','right-list-value'); //右侧插入一个值 $ret =$redis->rpush('list','right-list-value1','right-list-value2'); //右侧批量插入值 // 在“right-list-value1”前面添加“10”,没有“right-list-value1”返回-1 // $ret = $redis->linsert('list', Redis::BEFORE, 'right-list-value1', 10); //在“right-list-value1”后面添加“18”,没有“right-list-value1”返回-1 // $ret = $redis->linsert('list', Redis::AFTER, 'right-list-value1', 18); /** * 删 */ $ret = $redis->lpop('list'); //左侧弹出一个值,返回值是弹出的值;返回值 mixed $ret = $redis->rpop('list'); //右侧弹出一个值,返回值是弹出的值;返回值 mixed //删除指定值“ right-list-value ”; //第三个参数的数值表示,值“ right-list-value ”如果重复时,删除几个值,这里删除3个, //如果重复值小于第三个参数,删除几个就返回几个数值给 $ret。返回值 integer $ret = $redis->lrem('list', 'left-list-value', 3); /** * 改 */ //修改索引(索引是从0开始的)上的值,返回值 boolean $ret = $redis->lset('list', 0, 'list-new-value'); //将值从一个列表的右侧弹出,插入到另一个列表的左侧;返回值:mixed,弹出的值 $ret = $redis->rpoplpush('list', 'list-1'); /** * 查 */ $ret = $redis->lindex('list', 0); //获取第n个元素的值;有值返回 string,无值返回Boolean $ret = $redis->lrange('list', 0, -1); //获取列表中一段的值,0到-1为列表中的全部值;返回值:array $ret = $redis->lLen('list'); //获取列表的长度;返回值:integer var_dump($ret);
Set 无序集合类型:
<?php $redis = new Redis(); $redis->connect("127.0.0.1", 6379); $redis->auth(''); //登录 $redis->select(1); /** * set集合类型 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ * 增 */ $ret = $redis->sadd('set', 'value'); //添加单个数据,返回值:integer $ret = $redis->sadd('set', 'value1', 'value2', 'value3'); //批量添加数据,返回值:integer /** * 删 */ $ret = $redis->srem('set', 'value'); //删除一个值,返回值:integer /** * 改,并不是真正的修改数据,是移动数据 */ $ret = $redis->smove('set', 'set-1', 'value'); //把元素 value 从 set 集合移动到 set-1 集合,返回值:Boolean /** * 查 */ $ret = $redis->smembers('set'); //获取集合中所有的值,返回值:array $ret = $redis->sCard('set'); //获取集合中元素的个数,返回值:integer $ret = $redis->srandmember('set'); //随机返回集合中的元素,返回值:string $ret = $redis->sinter('set-1', 'set-2'); //获取两个集合的交集,返回值:array $ret = $redis->sunion('set-1', 'set-2'); //获取两个集合的并集,返回值:array $ret = $redis->sdiff('set-1', 'set-2'); //获取两个集合的差集,set-1 集合在 set-2 集合中不存在的元素,返回值:array $ret = $redis->sismember('set','value'); //检查集合 set 中是否存在元素 value,返回值:Boolean var_dump($ret);