小编Dan*_*res的帖子

Redis 2.8通知:获取值而不是密钥(在过期时)

我们有以下用例:每当某个密钥到期时,我们需要根据它的价值得到通知并做一些事情.但是当redis触发expired事件时,当我们稍后尝试访问它时,密钥已经从数据库中删除了,这当然是预期的.

现在有没有办法在它过期后再次访问该条目?我猜不会.

所以第二个选项:有没有办法告诉redis在发送这些事件时发布整个值对象而不仅仅是密钥?我想它可以通过Lua添加,但如果可能的话,我会对更简单的选项感兴趣.我们还需要这种行为用于其他事件,我们基本上需要所有通知来发布值,而不是密钥(我们可以GET在收到事件后做一次,但我们想要绕过第二次调用,主要是为了拥有原子进程,因为在发布事件和执行GET检索值之间可能已经改变了值.

希望这是可以理解的.也许我们看不到明显的,所以提前谢谢!

database events redis

18
推荐指数
1
解决办法
7888
查看次数

通过EC2进行类似Heroku的部署和环境配置

我非常喜欢12factor应用程序的方法,当你将应用程序部署到Heroku时,你有点被迫使用它.对于这个问题,我特别感兴趣的是为配置设置环境变量,就像在Heroku上做的那样.

据我所知,没有办法在EC2控制台内为一个或多个实例更改ENV(尽管在使用弹性beanstalk时似乎可以设置5个ENV变量).因此,我的一个Ubuntu的系统旁边的选择将是使用/etc/environment,/etc/profile,~/.profile或只是export命令来设置ENV变量.

这是正确的方法还是我错过了什么?

如果是这样,是否有最佳实践方法?我想我可以使用像CapistranoFabric这样的东西,从AWS api获取服务器列表,连接到所有服务器并更改提到的文件/调用export.虽然12factor是众所周知的,但是我找不到任何博客文章描述如何处理在EC2上的非常重要数量的实例的ENV.而且我不想实现这样的事情,如果有人已经做得很好而且我只是错过了一些东西.

注意:我想要一个不使用弹性beanstalk的解决方案,我不关心git push部署或任何其他类似Heroku的功能,这仅与应用程序配置有关.

任何提示赞赏,谢谢!

deployment configuration heroku amazon-ec2 amazon-web-services

8
推荐指数
1
解决办法
1130
查看次数

Vim经常需要在拆分后重绘

经过几个月调整我的vimrc文件和安装插件后,我有一个非常痛苦的小bug:

当我关闭一个分割(看起来这只出现在垂直分割上)时,剩余的缓冲区经常需要重绘,因为文本完全搞砸了(行已经消失,剩下的文本来自封闭的缓冲区等)

这可以通过按CTRL-L轻松解决,但每次打开和关闭我的nerdtree资源管理器时按CTRL-L真的很烦人.

有没有人遇到相同/类似的问题和/或知道解决方案?我无法将此行为刻录到我的vimrc中的单行或特定插件中......

提前致谢!

vim buffer split redraw nerdtree

6
推荐指数
1
解决办法
1375
查看次数

Node.js请求下载文件有时为空或不存在

我正在用node.js和请求模块编写一个下载程序.使用我正在做的流语法

var r = request(url).pipe(fs.createWriteStream(targetPath));
r.on('error', function(err) { console.log(err); });
r.on('finish', cb);
Run Code Online (Sandbox Code Playgroud)

下载文件,保存并调用回调.但是,在近50%的情况下,文件为空或根本不创建.没有error发生任何事件.finish即使文件尚未(完全)写入,似乎触发了事件.

上下文:整个事情都包含在async.each调用中.

有线索吗?谢谢!

javascript asynchronous download request node.js

6
推荐指数
1
解决办法
4767
查看次数