文档章节

浅谈php的缓存机制之redis

w
 wenjing521
发布于 2015/07/19 17:13
字数 503
阅读 25
收藏 0

适合刚学习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

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

版权声明:本文为博主原创文章,未经博主允许不得转载。

© 著作权归作者所有

w
粉丝 1
博文 128
码字总数 20525
作品 0
海淀
私信 提问
技术晨读_20160217

技术导读 Build a RESTful API with Martini 使用martini搭建一个Restful API,使用的是简易的内存database,搭建了一套支持json和xml的RESTFUL的API http://0value.com/build-a-restful-API...

王二狗子11
2018/01/07
0
0
分布式架构浅谈

http://homeway.me/ 0x01.大型网站演化 简单说,分布式是以缩短单个任务的执行时间来提升效率的,而集群则是通过提高单位时间内执行的任务数来提升效率。 集群主要分为:高可用集群(High Ava...

steven
2016/03/27
131
0
PHPer面试指南-PHP 篇

本书的 GitHub 地址:https://github.com/todayqq/PHPerInterviewGuide PHP 篇收集了一些常见的基础、进阶面试题,基础的面试题不再作答。 基础篇 Get 和 POST 的区别 Cookie 和 Session 的区...

angkee
2018/01/24
0
0
PHPer、Laravel常见面试题及答案

最近社区里面有一篇文章引起了最多程序猿的关注,分享一下 Laravel、PHPer 面试可能会遇到的问题,看评论区不少小伙伴们被难倒,对于一些问题同样难倒了我(其实有很多啦),趁着周末有空,又...

angkee
2017/09/24
0
0
浅谈中小型网站架构分析及优化

以上网站架构广泛运用中大型网站中,本文从架构每一层分析所用主流技术和解决手段,有助于初入网站运维朋友们,进一步对网站架构认识,从而自己形成一套架构概念。 先看网站架构图: 以上网站...

English0523
2015/12/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Tensorflow 2.0安装

Tensorflow2.0安装环境: Ubuntu 16.04或更高(64位) Windows 7或者更高(64位,且支持python3) 安装Tensorflow 2.0 GPU版本的需要安装NVIDIA相关软件包: NVIDIA驱动 :版本必须410.x或更...

JosiahMg
27分钟前
4
0
TL138/1808/6748F-EasyEVM开发板硬件、CPU、FLASH、RAM

TL138/1808/6748F-EasyEVM是广州创龙基于SOM-TL138/SOM-TL1808/SOM-TL6748F核心板开发的一款开发板。由于SOM-TL138/SOM-TL1808/SOM-TL6748核心板管脚兼容,所以此三个核心板共用同一个底板。...

Tronlong创龙
34分钟前
4
0
百度嵌入式AI解决方案EdgeBoard之内存驱动设计介绍

1. 背景介绍 由于 FPGA 具备可编程和高性能计算的特点,基于FPGA硬件的AI计算加速,正广泛地应用到计算机视觉处理领域。其中极具代表性的部署方式之一就是使用FPGA和CPU组合构成异构计算系统...

AI君
40分钟前
6
0
开放应用模型(OAM):全球首个云原生应用标准定义与架构模型

Kubernetes 项目作为容器编排领域的事实标准, 成功推动了诸如阿里云 Kubernetes (ACK)等云原生服务的迅速增长。但同时我们也关注到,Kubernetes 的核心 API 资源比如 Service、Deploymen...

Mr_zebra
43分钟前
4
0
《Linux操作系统-Exynos4412》编译和安装Busybox

开发环境:Exynos4412-iTOP-4412开发板 现在 Busybox 的配置已经完成了,接下来开始编译 Busybox,在 Ubuntu 的终端输入 “make”命令开始编译 Busybox,如下图。 下图为编译过程中的截图。 ...

书白
46分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部