浅谈php的缓存机制之redis

原创 2015年07月09日 14:55:27

适合刚学习redis的读读,直接上代码吧,全是基础,全有注释

<?php 
$redis = new redis();
$redis->connect('127.0.0.1', 6379);
//设置twjteststring
$redis->setex('twjteststring','300','test string title content');
$twjteststring = $redis->get('twjteststring');
echo 'string<br/>';
print_r($twjteststring);
echo "<hr/><br/>";
//设置hash
echo 'hash<br/>';
$redis->hSet('testhash','name','twj');
$redis->hSet('testhash','age',25);
//删除testhash中的age
$redis->hDel('testhash','age');
$redis->hSetNx('testhash','age',24);//如果已经存在,则不操作。若未设置,则赋值
//hMset可以直接设置数组,数组中如果存在已经定义的元素,会覆盖掉
$redis->hMset('testhash',array('sex'=>'男','home'=>'山东省武松打虎故乡','name'=>'twj2'));
$redis->hSet('testhash','home','山东省');
echo $redis->zCount('testhash',0,3);
//hMget可以根据多个键取对应的值,返回值是键值形式的数组
$hashnamesex = $redis->hMget('testhash',array('name','age'));
print_r($hashnamesex);
//根据特定单个键取值
$hashname = $redis->hGet('testhash','name');
echo $hashname."<br/>";
//取出所有的键
$hashallkey = $redis->hKeys('testhash');
print_r($hashallkey);
//取出所有的值
$hashallvalue = $redis->hVals('testhash');
print_r($hashallvalue);
//hgetall获取hash的键值
$hasharr = $redis->hgetall('testhash');
print_r($hasharr);
echo "<hr/><br/>";
//$redis->delete('testhash');//删除testhash
//与数据库关联
$mysql = new PDO("mysql:host=localhost;dbname=blog","root","",array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8")); 
$rs = $mysql -> query("select title,content from tbl_post limit 10");
$i=0;
while($row = $rs -> fetch()){
    $rows[$i]['title']=$row['title'];
    $rows[$i]['content']=$row['content'];
    $i=$i+1;
}
$redisrows = json_encode($rows);
$redis->setex('blog','300',$redisrows);
$blog = $redis->get('blog');
print_r(json_decode($blog));
//$redis->delete('blog');
$redis->hSet('blog2','data',$redisrows);
$blog2 = $redis->hGet('blog2','data');
print_r(json_decode($blog2));
$redis->expire('testhash',300);
$redis->expire('blog2',300);//过期时间
//$redis->delete('blog2');
//$redis->delete('testhash');
//$redis->delete('blog2');
//zset与hash结合使用比较方便
$redis->zAdd('zset',0,'test0content');
$redis->zAdd('zset',1,'test1content');
$redis->zAdd('zset',3,'test3content');
$redis->zAdd('zset',2,'test2content');
$redis->zAdd('zset',4,'test4content');//zAdd(key,score,value)score只能为数字,当value相同时候,会覆盖掉score
$zset = $redis->zRange('zset',0,2);//返回zadd数组
echo '<br/><hr/>zset';
print_r($zset);
//$redis->delete('zset');
?>
对于那些用windows的wamp集成环境没有装上redis的也可以找我。

联系qq:274501366

代码很基础,转载请注明。

php+redis缓存类

php+redis缓存类

PHP网站redis缓存方式分析

Redis缓存分析: 首先提出3个问题: 1)是否缓存整个网站中间件的数据? 2)如果缓存整个中间件的数据redis是否可以承压? 3)PHP缓存redis是否会对中间件的缓存方式存在影响?...

php+redis+mysql缓存文章总结

一、 http://www.cnblogs.com/jackluo/p/3401999.html。此文是对访客做统计的写入sql的例子,在redis设置变量,每增加一个访问就加一(使用redis的i...

PHP Redis 缓存实例

还在学习redis中,所以本文会持续更新 学习redis一段时间了,发现在网上都有说到使用场景,但是很少具体的实例 下面是我自己通过学习总结出的简单实例,如果有哪里不对欢迎指出 1、使用re...
  • cc2415
  • cc2415
  • 2017年09月30日 10:41
  • 225

PHP + redis缓存类

class redisCache {      /**      * $host : redis服务器ip      * $port : redis服务器端口      * $lifetime...
  • lmjy102
  • lmjy102
  • 2017年04月10日 15:56
  • 437

php操作redis方法详解

在php里边,redis就是一个功能类,该类中有许多成员方法(名字基本与redis指令的名字一致,参数也一致)。 实例: ...

php查询mysql并缓存到redis

首先安装redis,并在php环境中开启php_redis扩展。 下面不多说了,直接上代码

php缓存机制的一个讲解

再说php缓存机制之前,想来说一下smarty的一个缓存小结, 我们可以随便打开一个缓存文件看一下: 这个说一下缓存集合的一个用法 组名:finance 地址:beijing 姓名:ph...

我所理解的php缓冲机制及嵌套级别

我理解的要点: 1、所有缓冲区控制是在一个PHP执行进程中发生的。如:你打开n个demo.php,他们之间开启和关闭缓冲是互不影响的。 2、output_buffering在程序中用ini_...
  • soonfly
  • soonfly
  • 2016年08月03日 17:19
  • 1356

redis缓存技术

redis是非关系型数据库Nosql的代表, 这类数据库主要有以下特点: 非关系型的(sql语句对它不起作用,不需要建表存数据,它是直接存储),分布式(主从复制),开源的水平可扩展的。 优点: ...
  • jaryle
  • jaryle
  • 2016年05月21日 18:21
  • 4607
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:浅谈php的缓存机制之redis
举报原因:
原因补充:

(最多只允许输入30个字)