C++中引用的基本用法

一、基本用法 创建一个对象的引用只需把声明符写成&val 的形式即可:

创建引用时,编译器并不是把拷贝一个值赋给引用,而是把引用和初始的对象绑定在一起,相当于只是给对象起了一个别名。可以通过引用来操作初始化对象,并且通过引用来操 ... 阅读更多

Golang 判断文件是否存在及递归创建文件夹

一、判断文件或文件夹是否存在 golang 判断文件或者文件夹是否存在可以通过 os.stat() 方法和 os.IsExist() 方法来判断:

二、递归创建文件夹 递归文件夹用到 os.MkdirAll() 方法: [crayon-694aee ... 阅读更多

redis 中的发布和订阅

一、发布和订阅

除了任务队列以外,redis 还有一种基于 「发布/订阅」 模式的消息传递,使得客户端可以订阅某个频道,当频道有消息产生时,会把消息传递到所有的订阅者。和列表不一样的是,发布和订阅可以是一对多的关系,即同一个消息可以同时传递到多个客户端 (订阅者) 。而列表只能允许一个客户端接收一个消息。

订阅和退订的命令是 PUBLISH/SUBSCRIBEPUBLISH 是向频道发送消息,SUBSCRIBE 是订阅频道。

1.1 发布

往指定频道发布消息的操作:

消息发送成功后,将会返回一个整数,表示收到这条消息的订阅者数量,如果没有任何客户端订阅频道,返回 0 。

一个要注意的问题是消息发布后不会被持久化,如果当前没有订阅者订阅频道,后续再订阅也不会收到订阅前的消息。

阅读更多