社区
基础编程
帖子详情
求:超长字符变量解决办法
laidezhong
2008-11-28 04:52:17
现有一字符串 $string,长度在1K到100K;
这个$string需要在多个页面调用,且每客户的$string不同.
本打算放在cookie,结果cookie长度有限制,4k.
如果每次调用$string就做一次数据库查询,显得不那么有效率.
是否有比较好的解决思路呢?
望赐教
...全文
191
17
打赏
收藏
求:超长字符变量解决办法
现有一字符串 $string,长度在1K到100K; 这个$string需要在多个页面调用,且每客户的$string不同. 本打算放在cookie,结果cookie长度有限制,4k. 如果每次调用$string就做一次数据库查询,显得不那么有效率. 是否有比较好的解决思路呢? 望赐教
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
17 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
knight0450
2008-11-30
打赏
举报
回复
这么大应该使用压缩,cookie做法明显不好,cookie总数量可是有限制的
helloyou0
2008-11-30
打赏
举报
回复
cookie内容每次会随网页和请求在服务端和浏览器间传递, 不宜搞太大
an9ryfr09
2008-11-30
打赏
举报
回复
放在多个cookie里面,并不复杂。一个域最多可以有20个cookie,每个大小不得超过4k,你切割一下,然后放到不同的cookie里面。
放session的话,如果所有用户的这个字符串都相同的还好说,如果每个用户的字符串都不同,那太浪费服务器资源了。
alexdany
2008-11-29
打赏
举报
回复
写文件,再读文件
jiang_jiajia10
2008-11-29
打赏
举报
回复
session多大都没关系
penglewen
2008-11-29
打赏
举报
回复
[Quote=引用 9 楼 froole 的回复:]
引用 7 楼 penglewen 的回复:
如果你的$string只是简单的传递一下,可以用md5()处理一下再放cookie里面,因为md5后都是32位的。节省了很多空间。。。
如果$string要用的话,可以借鉴md5()的方法,自己写个加密与解密的方法,主要目的是为了节省空间。。
汗....
[/Quote]
其实就是指用序列化,因为对php里面的序列化用得少一点。呵呵。。。。见笑了。
phpboy
2008-11-29
打赏
举报
回复
直接将$string写到网页里面,用的时候直接调用网页,应该可以达到一定效果
helloyou0
2008-11-29
打赏
举报
回复
要看怎么用。。。。
海诗美妆
2008-11-28
打赏
举报
回复
[Quote=引用 7 楼 penglewen 的回复:]
如果你的$string只是简单的传递一下,可以用md5()处理一下再放cookie里面,因为md5后都是32位的。节省了很多空间。。。
如果$string要用的话,可以借鉴md5()的方法,自己写个加密与解密的方法,主要目的是为了节省空间。。
[/Quote]
汗....
Zijian_Zhang
2008-11-28
打赏
举报
回复
用gz进行压缩,或者直接放入SESSION.
penglewen
2008-11-28
打赏
举报
回复
如果你的$string只是简单的传递一下,可以用md5()处理一下再放cookie里面,因为md5后都是32位的。节省了很多空间。。。
如果$string要用的话,可以借鉴md5()的方法,自己写个加密与解密的方法,主要目的是为了节省空间。。
海诗美妆
2008-11-28
打赏
举报
回复
[Quote=引用 4 楼 fxs_2008 的回复:]
放在session里,对长度没有限制
[/Quote]
针对于每个用户的缓存,
方在session里面是最合理的。
有理想的草根
2008-11-28
打赏
举报
回复
建议使用先将字符串进行序列化,再将序列化后的串进行压缩gzcompress()
读取时,先进行反压缩再进行反序列。
以前我使用过这种方式,将40K的文件变成5.6K。
至于再如何处理,就得看你想如何存了。是想放到C还是S里。
fxs_2008
2008-11-28
打赏
举报
回复
放在session里,对长度没有限制
vvkl
2008-11-28
打赏
举报
回复
放在n个文件里,cookie里保存文件名
laidezhong
2008-11-28
打赏
举报
回复
[Quote=引用 1 楼 onlythree 的回复:]
1.放在n个cookie里,取出来连接一下
2.放在memcache里
3.也太长了,设计上可能有问题
[/Quote]
1 不错的思路,不过好复杂 -_-#
2 服务器不支持 -_-!
3 这个字符串是包含客户端电脑安装的字体列表.我机器上字体名称以逗号连接后也有26K,没办法. @_@...
onlythree
2008-11-28
打赏
举报
回复
1.放在n个cookie里,取出来连接一下
2.放在memcache里
3.也太长了,设计上可能有问题
Oracle接收长度大于4000的
字符
串
Oracle接收长度大于4000的
字符
串 Oracle接收长度大于4000的
字符
串
C#开发编码规范
C#开发编码规范
\BOOKS\24124532558C#开发编码规范.doc
Oracle 解决【ORA-01704:
字符
串文字太长】
Oracle 解决【ORA-01704:
字符
串文字太长】 错误提示:oracle在toad中执行一段sql语句时,出现错误‘ORA-01704:
字符
串文字太长’。 如下图: 原因:一般为包含有对CLOB字段的数据操作。如果CLOB字段的内容非常大的时候,会导致SQL语句过长。隐式转换:oracle默认把
字符
串转换成varchar2类型,而这个
字符
串的长度,又比4000大,所以会报ora-01704错误。说得通俗一点,就是两个单引号之间的
字符
不能超过4000。
解决办法
:使用PL/SQL语法,采取绑定
变量
的
ORA-01704:
字符
串文字太长 报错
解决办法
最有效的办法是把插入的
字符
切割成多个4000小块,然后用TO_CLOB()函数把
字符
串转成clob格式, 再使用 || 拼接起来,如下示例。网上很多答案都是不正确的,搞什么存储过程
变量
之类的。
oracle如何储存
超长
汉子_ORACLE
超长
字符
串问题的
解决办法
前两天我在工作中遇到这样一个问题,我们有一个程序是用来增量抽取EBS 中的表数据的,有的是全量抽取,即先删除原表中的数据,然后重新抽取数据,示例代码如下:truncate table ods_emp drop storage;insert into ods_emp select * from emp;另外一种方式是增量抽取,用的是merge语句,这里就不写了;)接触过EBS库存模块的同志们知道,I...
基础编程
21,893
社区成员
140,347
社区内容
发帖
与我相关
我的任务
基础编程
从PHP安装配置,PHP入门,PHP基础到PHP应用
复制链接
扫一扫
分享
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章