不灭的火

革命尚未成功,同志仍须努力下载JDK17

作者: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块 只会执行一次。