当前位置: 首页 > news >正文

如何做网站手机/成都网络推广运营公司

如何做网站手机,成都网络推广运营公司,企业所得税怎么征收标准,公众号怎么制作小程序前言小型web服务, session数据基本是保存在本地(更多是本地磁盘文件), 但是当部署多台服务, 且需要共享session, 确保每个服务都能共享到同一份session数据.redis 数据存储在内存中, 性能好, 配合持久化可确保数据完整.设计方案1. 通过php自身session配置实现# 使用 redis 作为…

前言

小型web服务, session数据基本是保存在本地(更多是本地磁盘文件), 但是当部署多台服务, 且需要共享session, 确保每个服务都能共享到同一份session数据.

redis 数据存储在内存中, 性能好, 配合持久化可确保数据完整.

设计方案

1. 通过php自身session配置实现

# 使用 redis 作为存储方案
session.save_handler = redis
session.save_path = "tcp://127.0.0.1:6379"
# 若设置了连接密码, 则使用如下
session.save_path = "tcp://127.0.0.1:6379?auth=密码"

测试代码

<?php
ini_set("session.save_handler", "redis");
ini_set("session.save_path", "tcp://127.0.0.1:6379");session_start();
echo "<pre>";
$_SESSION['usertest'.rand(1,5)]=1;
var_dump($_SESSION);echo "</pre>";

输出 ↓

array(2) {["usertest1"]=>int(88)["usertest3"]=>int(1)
}
usertest1|i:1;usertest3|i:1;

评价

  • 优点: 实现简单, 无需修改php代码
  • 缺点: 配置不支持多样化, 只能应用于简单场景

2. 设置用户自定义会话存储函数

通过 session_set_save_handler() 函数设置用户自定义会话函数.

session_set_save_handler ( callable $open , callable $close , callable $read , callable $write , callable $destroy , callable $gc [, callable $create_sid [, callable $validate_sid [, callable $update_timestamp ]]] ) : bool# >= php5.4
session_set_save_handler ( object $sessionhandler [, bool $register_shutdown = TRUE ] ) : bool

在配置完会话存储函数后, 再执行 session_start() 即可.

具体代码略, 以下提供一份 Memcached 的(来自Symfony框架代码):

<?php/** This file is part of the Symfony package.** (c) Fabien Potencier <fabien@symfony.com>** For the full copyright and license information, please view the LICENSE* file that was distributed with this source code.*/namespace SymfonyComponentHttpFoundationSessionStorageHandler;/*** MemcacheSessionHandler.** @author Drak <drak@zikula.org>*/
class MemcacheSessionHandler implements SessionHandlerInterface
{/*** @var Memcache Memcache driver.*/private $memcache;/*** @var int Time to live in seconds*/private $ttl;/*** @var string Key prefix for shared environments.*/private $prefix;/*** Constructor.** List of available options:*  * prefix: The prefix to use for the memcache keys in order to avoid collision*  * expiretime: The time to live in seconds** @param Memcache $memcache A Memcache instance* @param array     $options  An associative array of Memcache options** @throws InvalidArgumentException When unsupported options are passed*/public function __construct(Memcache $memcache, array $options = array()){if ($diff = array_diff(array_keys($options), array('prefix', 'expiretime'))) {throw new InvalidArgumentException(sprintf('The following options are not supported "%s"', implode(', ', $diff)));}$this->memcache = $memcache;$this->ttl = isset($options['expiretime']) ? (int) $options['expiretime'] : 86400;$this->prefix = isset($options['prefix']) ? $options['prefix'] : 'sf2s';}/*** {@inheritdoc}*/public function open($savePath, $sessionName){return true;}/*** {@inheritdoc}*/public function close(){return $this->memcache->close();}/*** {@inheritdoc}*/public function read($sessionId){return $this->memcache->get($this->prefix.$sessionId) ?: '';}/*** {@inheritdoc}*/public function write($sessionId, $data){return $this->memcache->set($this->prefix.$sessionId, $data, 0, time() + $this->ttl);}/*** {@inheritdoc}*/public function destroy($sessionId){return $this->memcache->delete($this->prefix.$sessionId);}/*** {@inheritdoc}*/public function gc($maxlifetime){// not required here because memcache will auto expire the records anyhow.return true;}/*** Return a Memcache instance** @return Memcache*/protected function getMemcache(){return $this->memcache;}
}
以上内容希望帮助到大家,很多PHPer在进阶的时候总会遇到一些问题和瓶颈,业务代码写多了没有方向感,不知道该从那里入手去提升,对此我整理了一些资料,包括但不限于:分布式架构、高可扩展、高性能、高并发、服务器性能调优、TP6,laravel,YII2,Redis,Swoole、Swoft、Kafka、Mysql优化、shell脚本、Docker、微服务、Nginx等多个知识点高级进阶干货需要的可以免费分享给大家,需要请戳这里链接 或 者关注咱们下面的知乎专栏
PHP架构师圈子​zhuanlan.zhihu.com
6b78c1e15a0d94b31c2c595669dca227.png
http://www.jmfq.cn/news/5070673.html

相关文章:

  • 做按摩网站多少钱/seo是什么及作用
  • 视频网站建设费用明细/淘宝seo关键词的获取方法有哪些
  • 网站服务器如何做端口映射/策划网络营销活动
  • 网页微信版传输助手/南宁百度seo优化
  • 专门做日租房的网站/濮阳市网站建设
  • 做化工的外贸网站都有什么地方/上海百度推广方案
  • wordpress顶部修改/沈阳百度推广排名优化
  • 河东区腾讯网站建设/企业如何做网站
  • 西安到成都/点击精灵seo
  • 京东企业官网/网站优化服务
  • 自建站服务/指数函数求导
  • 厚街找人做网站/锦州网站seo
  • 法人变更在哪个网站做公示/怎么开网站平台
  • 眉山手机网站建设/网站优化是做什么的
  • 网站设计模板素材/如何在百度上做免费推广
  • 网站模板 简洁/微博推广方式有哪些
  • wap网站模式/网站优化外包找谁
  • 可以自己做网站经营吗/关键词优化排名哪家好
  • 在什么网站可以接设计做/厦门seo顾问屈兴东
  • 淄博张店做网站的公司/公司网站注册流程和费用
  • 实时网站制作/湖北搜索引擎优化
  • 网站建设开发价格高吗/免费seo教程资源
  • java源码网站/谷歌网页版入口
  • 有域名有空间如何做网站/软文世界平台
  • seo搜索引擎优化总结报告/广州营销seo
  • 网站备案失效/查排名网站
  • 新手怎么做企业网站/长沙seo服务哪个公司好
  • 开发网站商城/网站源码交易平台
  • 义乌制作网站要多少钱/代做seo排名
  • 牛什么的网站建设/站长之家ip地址归属查询