批量删除Key,Redis 中有删除单个 Key 的指令 DEL,但好像没有批量删除 Key 的指令,不过我们可以借助 Linux 的 xargs 指令来完成这个动作。
redis-cli keys "*" | xargs redis-cli del //如果redis-cli没有设置成系统变量,需要指定redis-cli的完整路径 //如:/opt/redis/redis-cli keys "*" | xargs /opt/redis/redis-cli del
redis-cli -a password keys "*" | xargs redis-cli -a password del
//下面的命令指定数据序号为0,即默认数据库 redis-cli -n 0 keys "*" | xargs redis-cli -n 0 del
//删除当前数据库中的所有Key flushdb //删除所有数据库中的key flushall
注:keys 指令可以进行模糊匹配,但如果 Key 含空格,就匹配不到了,暂时还没发现好的解决办法。
function setCookie(name, value) { var t = new Date(); t.setTime(t.getTime() + 30 * 24 * 3600 * 1000); document.cookie = escape(name) + "=" + escape(value) + ";path=/;expires=" + t.toGMTString(); } function getCookie(name) { if (new RegExp("\\b" + name + "=([^;]+)", "g").test(document.cookie)) return unescape(RegExp.$1 || ''); return ''; }
在/home/www/.ssh/下新建config文件,内容如下:
Host git.zhongwenweilai.com HostName git.zhongwenweilai.com User www Port 9000 IdentityFile ~/.ssh/id_rsa ServerAliveInterval 30 Host web2 HostName 10.6.32.193 User www Port 22 IdentityFile ~/.ssh/id_rsa ServerAliveInterval 30
这样就可以通过ssh web2直接登录到 10.6.32.193 服务器了,当然需要通过ssh key认证。
如果遇到类似下面的错误:Bad owner or permissions on /home/yuss/.ssh/config
需要修改config的权限
chmod 600 ~/.ssh/config
在实际工作中遇到一个git方面的问题,git的ssh协议或git协议通过ssh链接git服务器,默认的端口是22,如果做了端口转发的话,可能默认的配置就连不上了,可以通过配置ssh config来解决这个问题。讲Host和HostName都设置成git的服务地址就可以了。
我有三台Ucloud的云主机,IP地址如下:
主机A:内网IP:10.6.14.98 外网弹性IP:42.62.79.183
主机B: 内网IP:10.6.13.86
主机C:内网IP:10.6.13.227
主机A可以通过外网弹性IP:42.62.79.183访问外网,但是主机B和主机C不可以访问外网,现在想让主机B和主机C通过主机A访问外网。具体操作如下:
需要加载下nf_conntrack模块,命令如下:
modprobe nf_conntrack
加载完后,需要再次执行sysctl -p
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
#GATEWAY=10.6.0.1 GATEWAY=10.6.14.98
public function utf8_urldecode($str) { if(strpos('+'.$str,'%u')>0) { $str = preg_replace("/%u([0-9a-f]{3,4})/i","&#x\\1;",urldecode($str)); return html_entity_decode($str,null,'UTF-8');; } else if(strpos('+'.$str,'%')) { return urldecode($str); } else { return $str; } }