mysql 存储 session

本文介绍了如何使用MySQL存储Session,包括建表方案、Session关键数据的存储方式、选择合适的引擎和字符集,并讨论了在高并发场景下使用MySQL存储Session的优势。同时,提到了自定义会话处理函数的注册和注意事项。
摘要由CSDN通过智能技术生成

需求:使用 mysql 存储 Session,百度之后代码稍作修改并总结如下:

一、先建表:

	CREATE TABLE `session` (
	  `skey` char(32) CHARACTER SET ascii NOT NULL,
	  `data` text COLLATE utf8mb4_bin,
	  `expire` int(11) NOT NULL,
	  PRIMARY KEY (`skey`),
	  KEY `index_session_expire` (`expire`) USING BTREE
	) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin;

主要有三个字段,分别是键,数据,过期时间。

代码如下:

	define('SESSION_DNS', 'mysql:host=127.0.0.1:3306;dbname=test;charset=utf8mb4');
	define('SESSION_USR', 'root');
	define('SESSION_PWD', 'root');
	define('SESSION_MAXLIFETIME', get_cfg_var('session.gc_maxlifetime'));
class sessionMysql{
	//创建PDO连接
	//持久化连接可以提供更好的效率
	public static function getConnection() {
	  try {
		$conn = new PDO(SESSION_DNS, SESSION_USR, SESSION_PWD, array(
		  PDO::ATTR_PERSISTENT => TRUE,
		  PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
		  PDO::ATTR_EMULATE_PREPARES => FALSE
		));
		return $conn;
	  } catch (Exception $ex) {
	 
	  }
	}
	 
	//自定义的session的open函数
	function sessionMysqlOpen($saveP
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值