好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

redisphp实例 redispy

很多站长朋友们都不太清楚redisphp实例,今天小编就来给大家整理redisphp实例,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 PHP实现负载均衡session共享redis缓存操作示例 2、 thinkphp如何使用redis 有简单的示例代码吗 3、 thinkphp5框架扩展redis类方法示例 4、 php实现redis数据库指定库号迁移的方法 PHP实现负载均衡session共享redis缓存操作示例

本文实例讲述了PHP实现负载均衡session共享redis缓存操作。分享给大家供大家参考,具体如下:

1、首先先创建html表单页面

<meta

chatset='utf-8'>

<center>

<form

action="se.php"

method="post">

<table>

<tr>

<td>帐号:</td>

<td><input

type="text"

name="username"></td>

</tr>

<tr>

<td>密码:</td>

<td><input

type="password"

name="pwd"></td>

</tr>

<tr>

<td></td>

<td><input

type="submit"

value="登录"></td>

</tr>

</table>

</form>

</center>

2、创建接受表单的文件

<?php

header('content-type:text/html;charset=utf-8');

set_time_limit(10);

ini_set("session.save_handler",'redis');//开启php.ini中的redis配置

ini_set("session.save_path","tcp://192.168.1.70:6379");//第一台服务器的redis

session_start();//开启session

$username

=

$_POST['username'];

$_SESSION['username']

=

$username;

echo

"<script>alert('登录成功!');location.href='from.php'</script>";//登录成功后跳转到欢迎登录页面

?>

3、跳转到from.php去判断第一台服务器的redis中的session是否存到了本台服务器的session中

<?php

header('content-type:text/html;charset=utf-8');

set_time_limit(10);

ini_set("session.save_handler",'redis');//开启php.ini中的redis配置

ini_set("session.save_path","tcp://192.168.1.70:6379");//第一台服务器的redis

session_start();//开启session

$username

=

isset($_SESSION['username'])

?

$_SESSION['username']

:

'';//判断当前是否存在session

//$id

=

$_SESSION['PHPSESSID'];

//echo

$id;

if(empty($username)){

echo

"<script>alert('请重新登录!');location.href='index.php'</script>";

}else{

echo

"欢迎".$username."登录";

}

?>

这样就简单了实现了redis

session共享的功能,要测试的话需要两台服务器,建议使用linux

比较好用

linux上安装redis可参考《Linux平台安装redis及redis扩展的方法》

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php缓存技术总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP错误与异常处理方法总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

您可能感兴趣的文章:Nginx

安装笔记(含PHP支持、虚拟主机、反向代理负载均衡)PHP开发负载均衡指南PHP实现负载均衡下的session共用功能Thinkphp结合AJAX长轮询实现PC与APP推送详解PHP经典算法集锦【经典收藏】php

分库分表hash算法php的hash算法介绍PHP中对各种加密算法、Hash算法的速度测试对比代码PHP实现的一致性Hash算法详解【分布式算法】PHP实现负载均衡的加权轮询方法分析

thinkphp如何使用redis 有简单的示例代码吗

$redis = new \think\cache\driver\Redis();//实例化Think的Redis驱动

$redis->has('键名');//判断redis值是否存在

$redis->get('键名');//获取redis的某个值;

$redis->set('键名','键值');//设置redis值

$redis->inc('键名',进长[默认为1]);//自增缓存。只对数字整型有效

$redis->dec('键名',进长[默认为1]);//自减缓存。只对数字整型有效

$redis->rm('键名');//删除缓存

$redis->clear();//清空缓存

thinkphp5框架扩展redis类方法示例

本文实例讲述了thinkphp5框架扩展redis类方法。分享给大家供大家参考,具体如下:

笔者在开发时发现,thinkphp5的自带redis类方法,只有简单的读取缓存、写入缓存的基本方法,远不能满足我们业务的需求。redis本身支持五种数据类型,string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)。redis的东西就不必再介绍了,接下来还是让我一起扩展thinkphp5的redis方法吧!

首先我们先找到缓存驱动类里的,handler()方法,这个方法是返回Redis类的实例化对象的。

这就是实例化对象,包括了options配置项、handler资源句柄、tag标签。实际上这里的handler是new

Redis()的对象实例。只要在外部拿到handler资源句柄,则可以对redis的操作进行扩展了。

在cache类里新增一个getHandler方法。

然后我们就可以在控制器调用了

打印的就是这个redis对象了

这里需要注意的是:

一个是调thinkphp5的redis的方法,就是这样用。

一个是如果你要调用原生的redis方法

基本的用法都讲完了。

接下来就愉快的开始扩展redis方法吧。

先找到这个类

这个类里并没有list的相关操作方法,那我们就来扩展list的相关方法。

这里的话,我就举一个例子了。

在控制器里去调用

这样就写入成功了。

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend

FrameWork框架入门教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

您可能感兴趣的文章:针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例ThinkPHP行为扩展Behavior应用实例详解ThinkPHP应用模式扩展详解ThinkPHP框架设计及扩展详解ThinkPHP的Widget扩展实例老生常谈ThinkPHP中的行为扩展和插件(推荐)TP5(thinkPHP5)框架mongodb扩展安装及特殊操作示例thinkPHP下的widget扩展用法实例分析thinkPHP3.2.2框架行为扩展及demo示例ThinkPHP5.0框架验证码功能实现方法【基于第三方扩展包】thinkphp5框架实现的自定义扩展类操作示例

php实现redis数据库指定库号迁移的方法

这篇文章主要介绍了php实现redis数据库指定库号迁移的方法,涉及对于redis数据库的操作技巧,非常具有实用价值,需要的朋友可以参考下

本文实例讲述了php实现redis数据库指定库号迁移的方法,分享给大家供大家参考。具体如下:

redis普通的数据库迁移,只能整个redis

save,或者利用主从,当然也可以安装一个redis-dump,不过比较麻烦,这里提供一种php的脚本,实现指定库号的迁移,其实也就是遍历根据存储类型,读出来,插入新库,效果是这样:

代码如下:

[root@localhost

~]#

php

1.php

1/407

101/407

201/407

301/407

401/407

PHP实例代码如下:

代码如下:

<?php

$from

=

'10.0.2.52:6379/7';

$to

=

'127.0.0.1:6379/7';

$from_redis

=

redis_init($from);

$to_redis

=

redis_init($to);

$keys

=

$from_redis->keys('*');

$count

=

0;

$total

=

count($keys);

foreach($keys

as

$key){

if(++$count

%

100

==

1){

echo

"$count/$totaln";

}

$type

=

$from_redis->type($key);

switch($type){

case

Redis::REDIS_STRING:

$val

=

$from_redis->get($key);

$to_redis->set($key,

$val);

break;

case

Redis::REDIS_LIST:

$list

=

$from_redis->lRange($key,

0,

-1);

foreach($list

as

$val){

$to_redis->rPush($key,

$val);

}

break;

case

Redis::REDIS_HASH:

$hash

=

$from_redis->hGetAll($key);

$to_redis->hMSet($key,

$hash);

break;

case

Redis::REDIS_ZSET:

$zset

=

$from_redis->zRange($key,

0,

-1,

true);

foreach($zset

as

$val=>$score){

$to_redis->zAdd($key,

$score,

$val);

}

break;

}

}

function

redis_init($conf){

$redis

=

new

Redis();

preg_match('/^([^:]+)(:[0-9]+)?/(.+)?/',

$conf,

$ms);

$host

=

$ms[1];

$port

=

trim($ms[2],

':');

$db

=

$ms[3];

$redis->connect($host,

$port);

$redis->select($db);

return

$redis;

}

?>

希望本文所述对大家的php程序设计有所帮助。

关于redisphp实例的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于redisphp实例 redispy的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did242700
更新时间:2023-05-28   阅读:32次

上一篇: php抖音api 抖音signature算法源码php

下一篇:php正则去掉div php正则取中间

最新资料更新

  • 1.php项目详解 php项目总结
  • 2.扫描登录php代码 扫描登录php代码错误
  • 3.linux中下载php linux安装php56
  • 4.PHP数组多值排序 php数组按值排序
  • 5.phpnodelay的简单介绍
  • 6.php获取服务器环境 php获取服务器状态
  • 7.php如何页面静态化 php实现页面静态化
  • 8.php解压gz效率 rarphp文件怎么解压
  • 9.链式作用域php php 链式调用
  • 10.jq读取php变量 php读取html内容
  • 11.php登录保护机制 php保持登录状态
  • 12.名称占位符php 占位符html
  • 13.修改php网页链接 怎么修改php网页
  • 14.php开发宝典 php7开发宝典pdf下载
  • 15.php短信被刷 php防止短信被刷
  • 16.文章加载更多php php加载html
  • 17.php内存监控视频 视频监控内存计算
  • 18.php变下载文件 php 下载文件
  • 19.php代理访问源码 php 代理
  • 20.php重命名不了 php 命名空间 通俗易懂

CopyRight:2016-{hedonghua:year}{hedonghua:sitegs} 备案ICP:湘ICP备09009000号-16 {hedonghua:sitejym}
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2026 「好得很程序员自学网」
[ SiteMap ]