求助大神,如何把QQwry.dat IP库写进memcached里。 memcached库服务器内存php 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你是要把整个文件存缓存里呢?还是只量查询的结果存缓存里呢?如果是整个文件存缓存里,一样要消耗内存,除非你的缓存服务器与Web服务器不是同台,且不差内存。 先把数据库内容读出来,用数组保存,然后json_encode后写入memcache。使用时,从memcache中读出来,然后json_decode获取数据。<?php$qqip = array( '192.168.1.1' => 'china', '192.168.1.2' => 'usa');$memcache_obj = new Memcache ;$memcache_obj->connect ('localhost', 11211 );//写入$memcache_obj->set('qqip', json_encode($qqip), MEMCACHE_COMPRESSED);// 读取$ipstr = $memcache_obj->get('qqip');$ipdata = json_decode($ipstr,true);echo $ipdata['192.168.1.1'];?> @fdipzone 不行的,QQwry.dat里面的数据有20w条左右,而且 存的是IP区间, @李睿_Lee 我是想把数据写进内存里,然后把要解析的IP地址在memcached里面匹配, 这样占用的内存就小的多了 你们都错误了!思路应该这样来想,既然自己的程序计算费时间,那么就引用外部的API接口CURL获取站外的IP查询,现在很多这样的服务器的。这样岂不一举两得,而且都不用自己维护。 就是不想用其他API接口,公司内部要求开放独立的IP服务系统。 将数据文件 内容读出来入库 把工作交给MYSQL 。建立一个独立的IP查询服务器 配置不需要多好,根据实际情况做硬件投资即可。 1000个用户来访问就9G了这符合实际情况吗?一个公司内部网络会设置 web 服务器并发数大于1000?您知道维护这样的配置要花费多少银子吗?一个 QQWry.dat 大致9M不到点,你是为查询一个 ip 地址,就将文件全部加载到内存吗? 如果QQWry.dat全部压缩存入memcache,估计也会超过1M,memcache最大key value存储也才1M. 與其寫入memcached還不如寫入redis這種nosql里速度差不多,但是佔用內存小多了. 如此奇怪的问题,高分求解,关于DOM的 我要崩溃了。。。新手求救。。。 求ajax搜索提示的查询语句 散分啦!!!刚用Web Service + XML + Ajax实现了个小东东,大家帮测测 怎么输出符合条件的特定数据? 请问:如何在dos下导入比较大的mysql脚本文件! 如何用SQL语句实现这样的功能? php做下载为什么老是不成功! php如何实现在查询列表中,点击查询结果跳转查询对应记录的详细内容,如图所示 关于页面跳转的问题 微信公众平台添加自定义菜单添加成功后,手机不显示菜单 php解析xml到二维数组问题,求大神指导
如果是整个文件存缓存里,一样要消耗内存,除非你的缓存服务器与Web服务器不是同台,且不差内存。
使用时,从memcache中读出来,然后json_decode获取数据。
<?php
$qqip = array(
'192.168.1.1' => 'china',
'192.168.1.2' => 'usa'
);$memcache_obj = new Memcache ;
$memcache_obj->connect ('localhost', 11211 );//写入
$memcache_obj->set('qqip', json_encode($qqip), MEMCACHE_COMPRESSED);
// 读取
$ipstr = $memcache_obj->get('qqip');
$ipdata = json_decode($ipstr,true);echo $ipdata['192.168.1.1'];
?>
你们都错误了!思路应该这样来想,既然自己的程序计算费时间,那么就引用外部的API接口
CURL获取站外的IP查询,现在很多这样的服务器的。这样岂不一举两得,而且都不用自己维护。
这符合实际情况吗?
一个公司内部网络会设置 web 服务器并发数大于1000?您知道维护这样的配置要花费多少银子吗?
一个 QQWry.dat 大致9M不到点,你是为查询一个 ip 地址,就将文件全部加载到内存吗?
速度差不多,但是佔用內存小多了.