下载鸥 > 网站下载 > 开发教程 > PHP

当缓存文件大于4KB,不能用cookie时的替代方案就是session

326 2021-04-17 22:12:50

收藏
鸥哥最近在开发一个项目,出于对用户隐私的保护,数据一概不能存储到数据表,而是选择存储到用户缓存之中。但缓存文件较大,cookie无法满足需求。那么,有什么替代方案可以存储几兆大小的缓存呢?有,session。

当缓存文件大于4KB,不能用cookie时的替代方案就是session

session基础用法

1、在项目的开始之前,需要启用session
简单的一条命令即可启用session
<?php session_start(); ?>
 <html>
<body>
</body>
</html>

2、存储与返回session
​​​​​​​<?php
session_start();
// 存储 session 数据
$_SESSION['info']=1;
?>
<html>
<head>
<meta charset="utf-8">
<title>下载鸥 xzo.com.cn</title>
</head>
<body>
 
<?php
echo "session存储的数据". $_SESSION['info'];
?>
</body>
</html>

3、验证是否存在session
和cookie一样,验证session是否存在的函数是isset
​​​​​​​<?php
session_start();
 
if(isset($_SESSION['info']))
{
    $_SESSION['info']=$_SESSION['info']+1;
}
else
{
    $_SESSION['info']=1;
}
echo "浏览量:". $_SESSION['info'];
?>

4、销毁单个session
销毁session的函数也非常简单
<?php
session_start();
if(isset($_SESSION['info']))
{
    unset($_SESSION['info']);
}
?>

5、销毁全部session
<?php
    session_destroy();
?>
注意:session_destroy() 将重置 session,全站存储的session数据全部会失效。
 

session存储位置

session默认存储于内存之中而非硬盘,等同于pc的暂存盘,可以设定释放时间。
 

session使用注意事项

session如果与ajax搭配使用,必须确保服务器接口执行到了session_start(),否则会报错。
 

session与cookie的区别

session 能存各种数据类型。 cookie 只能存字符串。
session缓存文件上限是5MB,cookie是4kb。
$_SESSION 的下标只能是字符串。 $_cookie 的下标也是。
联系:session 的 id 存在 cookie 中。

本文地址:https://xzo.com.cn/develop/php/810.html

有帮助,很赞!

信息来源:下载鸥
信息标签
导出教程 下载word版教程
发表评论 共有条评论
关于PHP

PHP是一种服务器端、跨平台、html嵌入式的脚本语言,其功能十分强大、入门简单。在过去,民间一直有说法称“PHP是最好的编程语言”,是PHP开发者对自身所使用语言的肯定。

PHP曾是最主流的网站web开发语言之一,现在也依然十分流行。

推荐PHP开发教程
PHP怎样正则匹配段落里的图片并提取图片链接?
PHP怎样正则匹配段落里的图片并提取图片链接?

在程序开发的过程中,我们可能需要提取段落里的图片用作缩略图。那么,这个正则...

19 817
PHP怎样用正则判断一个链接是内链还是外链?
PHP怎样用正则判断一个链接是内链还是外链?

在日常文章的发表过程中,由于需要引入一些外部链接达到更好的效果与体验。但...

26 1197
str_replace怎样一次性替换多个值(数组)?
str_replace怎样一次性替换多个值(数组)?

我们知道,str_replace是可以执行替换命令的,但一般是用于一对一替换,这个很好...

1 313
ajax发起session请求发现session无效了怎么办?
ajax发起session请求发现session无效了怎么办?

今天遇到这样一个问题:php启用了session,经过测试也发现session生效了。但在a...

1 326
宝塔Nginx免费防火墙提示post参数(post_max_size)值长度超过20w已被系统拦截怎么办?
宝塔Nginx免费防火墙提示post参数(post_max_size)值长度超过20w已被系统拦截怎么办?

页面提交post请求后被宝塔防火墙拦截,查看日志显示错误:参数值长度超过20w已...

1 412
怎样在每次发起请求时重置session_id?
怎样在每次发起请求时重置session_id?

在一些开发场景中,我们需要在每次发起请求后更新重置session_id以同步用户数...

3 283
json数据{}转为php数组[]
json数据{}转为php数组[]

json是使用非常广泛的数据,通过使用json,我们还可以实现多种语言的联动。今天...

0 264
PHP的for循环为什么只执行了一次就停止了?
PHP的for循环为什么只执行了一次就停止了?

今天有朋友咨询鸥哥,说php写的for循环本来至少要循环9次,但却只执行了一次就...

1 286
随机PHP开发教程
ajax发起session请求发现session无效了怎么办?
ajax发起session请求发现session无效了怎么办?

今天遇到这样一个问题:php启用了session,经过测试也发现session生效了。但在a...

1 326
PHP排序函数sort、asort、rsort、krsort、ksort区别与用法详解
PHP排序函数sort、asort、rsort、krsort、ksort区别与用法详解

在php中自带了大量了数组排序函数,使用起来非常简单,下面我们一一来介绍一下...

3 316
PHP设置读取删除cookie怎么做?
PHP设置读取删除cookie怎么做?

cookie小甜点在网络上无处不在,通过cookie我们可以可以将很多数据记录在客户...

3 277
php怎样切割post传递的textarea参数取得行数?
php怎样切割post传递的textarea参数取得行数?

网上关于php切割textarea换行符的方法很多,但大多不准。其中一些有效果,但却...

1 263
PHP特殊字符串过滤函数(压缩版本)
PHP特殊字符串过滤函数(压缩版本)

在很多php应用场景中,我们需要用到特殊符号过滤。下面是鸥哥整理出来的一个...

0 269
PHP报错:Allowed memory size of 134217728 bytes exhausted (tried to allocate 21267245
PHP报错:Allowed memory size of 134217728 bytes exhausted (tried to allocate 21267245

PHP报错:Allowed memory size of 134217728 bytes exhausted (tried to allo...

1 277
PHP 正则匹配日志信息 并存入数据库
PHP 正则匹配日志信息 并存入数据库

日志分析许多人可能不在意,但养成查看日志的习惯,可以让你对网站的情况有充分...

3 328
php怎样开发一个访问密码的界面防止资源被爬取?
php怎样开发一个访问密码的界面防止资源被爬取?

互联网上每天都有很多爬虫到处爬取内容,你可能不知道他们是干嘛的,但其中肯定...

1 282
客服QQ:341553759
点击咨询 常见问题 >
官方交流群:90432500
点击加入