作者:AlbertWen
添加时间:2018-01-19 22:27:38
修改时间:2025-07-08 18:08:13
分类:
MySQL/Redis
编辑
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
本篇文章,主要介绍利用PHP使用Redis,主要的应用场景。
一、简单字符串缓存实战
$redis->connect('127.0.0.1', 6379);
$strCacheKey = 'Test_bihu';
//SET 应用
$arrCacheData = [
'name' => 'job',
'sex' => '男',
'age' => '30'
];
$redis->set($strCacheKey, json_encode($arrCacheData));
$redis->expire($strCacheKey, 30); # 设置30秒后过期
$json_data = $redis->get($strCacheKey);
$data = json_decode($json_data);
print_r($data->age); //输出数据
//HSET 应用
$arrWebSite = [
'google' => [
'google.com',
'google.com.hk'
],
];
$redis->hSet($strCacheKey, 'google', json_encode($arrWebSite['google']));
$json_data = $redis->hGet($strCacheKey, 'google');
$data = json_decode($json_data);
print_r($data); //输出数据
作者:AlbertWen
添加时间:2017-10-27 12:54:37
修改时间:2025-07-08 18:04:17
分类:
14.Golang/Ruby
编辑
goroutine
goroutine是Go并行设计的核心。goroutine说到底其实就是线程,但是它比线程更小,十几个goroutine可能体现在底层就是五六个线程,Go语言内部帮你实现了这些goroutine之间的内存共享。执行goroutine只需极少的栈内存(大概是4~5KB),当然会根据相应的数据伸缩。也正因为如此,可同时运行成千上万个并发任务。goroutine比thread更易用、更高效、更轻便。
goroutine是通过Go的runtime管理的一个线程管理器。goroutine通过go关键字实现了,其实就是一个普通的函数。
go hello(a, b, c)
作者:AlbertWen
添加时间:2017-10-29 21:09:54
修改时间:2025-06-28 23:29:06
分类:
MySQL/Redis
编辑
作者:AlbertWen
添加时间:2015-12-02 19:41:50
修改时间:2025-06-25 14:49:47
分类:
行业资讯
编辑
做开源也有4,5年的时间了,从最初的 Yaf,到今天的 PHP7,我参与的项目越来越多,使用我代码的用户也越来越多,明天就要发布的PHP7,绝对是我从事开源以来的一个最重要里程碑,我应该纪念一下今天,就让我稍微感性一次吧。
作者:AlbertWen
添加时间:2018-05-08 23:18:10
修改时间:2025-07-03 18:44:12
分类:
16.编程基础/Web安全
编辑
我以前是写AS3的,事件和回调无处不在,天生就是异步的,很少需要讨论这些概念。现在写C#,这些概念提的就多了,所以需要彻底搞明白。如果把技术的逻辑抽象出来,跟生活中的逻辑做比较,你会发现技术包含的道理是多么的朴素呀。
作者:AlbertWen
添加时间:2017-10-26 18:11:36
修改时间:2025-06-20 09:44:32
分类:
12.PHP库/系统/微信
编辑
ThinkPHP 是国内比较优秀的 PHP 框架,但有些地方不是很好,比如那些 魔术函数 D(),用它返回的类实例,在各个IDE(如 PhpStorm)下根本识别不了,导致如下问题:
1、不支持 代码自动提示;
2、不支持 按住 Ctrl 键,点击 方法名,进入 方法的 定义处;
3、不支持 重构;
4、不支持 方法被使用/调用 统计;
等等问题;
作者:AlbertWen
添加时间:2017-10-26 13:12:43
修改时间:2025-07-08 17:59:40
分类:
06.Linux软件安装
编辑
【实战】
把 php、php-fpm、nginx、mysql 的相关命令路径添加到 用户环境变量
$ vim ~/.bash_profile
作者:AlbertWen
添加时间:2018-06-06 23:47:46
修改时间:2025-07-09 04:28:41
分类:
08.Java基础
编辑
在项目中如果有些参数经常需要修改,或者后期可能需要修改,那我们最好把这些参数放到properties文件中,源代码中读取properties里面的配置,这样后期只需要改动properties文件即可,不需要修改源代码,这样更加方便。在Spring中也可以这么做,而且Spring有两种加载properties文件的方式:基于xml方式和基于注解方式。下面分别讨论下这两种方式。
1. 通过xml方式加载properties文件
2. 通过注解方式加载properties文件
作者:AlbertWen
添加时间:2017-10-29 21:15:30
修改时间:2025-07-03 12:34:39
分类:
18.系统设计/UML建模
编辑
作者:AlbertWen
添加时间:2017-10-29 20:29:19
修改时间:2025-07-01 18:22:18
分类:
14.Golang/Ruby
编辑
sync.Once.Do(f func()) 是一个非常有意思的东西,能保证 once 只执行一次,无论你是否更换 once.Do(xx) 这里的方法,这个 sync.Once块 只会执行一次。