大同小异,redis包含了memcache的协议,所以string型数据操作基本一致,
string类型一个键所能存储的键大小512MB
回顾一下:我们应用NoSql,从浅层次上无非就用内存存缓存,也可以说是用内存存那些查询量比较频繁的数据,那么如果要缓存一片文章,文章可能有标题,时间,内容。那么我们处理其实也简单,可以将这些东西存在一个数组里,然后序列化
函数
serialize($arr),unserialize($string)
不过原则上还是应该序列化成json 或者 XML这类交换格式,我可以保证存在redis服务器上的键值可以完美被其他语言平台读取。还有被Ajax读取
函数json_encode($arr) json_decode($string)
<?php
$redis = new Redis();
$redis->connect('192.168.104.10',6379);
$title = "This title";
$time =time();
$content = "write something here";
$value = array('title'=>$title,'time'=>$time,'content'=>$content);
$value = serialize($value);//所有数据序列化一个字符串
$redis->set('first',$value);//将序列号字符串存储进入
$res = $redis->get('first');
print $res;
$res = unserialize($res);//解序列化,回归数组
print_r($res);
?>
$redis = new Redis();
$redis->connect('192.168.104.10',6379);
$title = "This title";
$time =time();
$content = "write something here";
$value = array('title'=>$title,'time'=>$time,'content'=>$content);
$value = serialize($value);//所有数据序列化一个字符串
$redis->set('first',$value);//将序列号字符串存储进入
$res = $redis->get('first');
print $res;
$res = unserialize($res);//解序列化,回归数组
print_r($res);
?>
//键名遵循变量命名规范!
//set 设置一个键
$redis->set('test','123');第三个参数代表键生存时间,缺省为不限时
//get 获取一个键
$redis->get('test');
//mset 批量设置键值
$arr = array('one'=>'1','two'=>'2');
$redis->mset($arr);
//mget 批量获取键值
$arr = array('one','two');
print_r($redis->mget($arr));
//incr/decr 做增/减值操作每次+1
$redis->incr('one'); //decr
$redis->incr('one',2); //第二个参数指定增/减量
echo $redis->get('one');
//strlen 计算值长度
$redis->strlen('one');
//append 向字符串尾加字符串长度
$redis->append('one','string');
//incrbyfloat
$redis->set('one','1');
$redis->incrbyfloat('one',2.5); //decrbyfloat 如果值不为纯数字,那么无法生效
//关于string类型的应用