• 每天进步一点点!

文章分类

推荐网站

常用手册

批量删除Redis数据库中的Key【转载】

批量删除Key,Redis 中有删除单个 Key 的指令 DEL,但好像没有批量删除 Key 的指令,不过我们可以借助 Linux 的 xargs 指令来完成这个动作。

  • 删除所有key
redis-cli keys "*" | xargs redis-cli del  
//如果redis-cli没有设置成系统变量,需要指定redis-cli的完整路径  
//如:/opt/redis/redis-cli keys "*" | xargs /opt/redis/redis-cli del  
  • 如果要指定 Redis 数据库访问密码,使用下面的命令:
redis-cli -a password keys "*" | xargs redis-cli -a password del  
  • 如果要访问 Redis 中特定的数据库,使用下面的命令:
//下面的命令指定数据序号为0,即默认数据库  
redis-cli -n 0 keys "*" | xargs redis-cli -n 0 del
  • 删除所有Key,可以使用Redis的flushdb和flushall命令:
//删除当前数据库中的所有Key  
flushdb  
//删除所有数据库中的key  
flushall  

注:keys 指令可以进行模糊匹配,但如果 Key 含空格,就匹配不到了,暂时还没发现好的解决办法。

类别:NoSQL | 浏览(115) | 评论(0) | 阅读全文>>

原生JS设置和获取cookie【原创】

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 ''; }

 

类别:JavaScript | 浏览(133) | 评论(0) | 阅读全文>>

ssh config配置实例【原创】

在/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的服务地址就可以了。

类别:Linux | 浏览(141) | 评论(0) | 阅读全文>>

解决Ucloud没有弹性IP的内网主机访问外网的问题【原创】

我有三台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访问外网。具体操作如下:

 

  1. 在主机A上:修改/etc/sysctl.conf文件中的net.ipv4.ip_forward = 0为net.ipv4.ip_forward = 1,开启路由转发功能。(centos 7中/etc/sysctl.conf没有net.ipv4.ip_forward配置项需要新增)
  2. 执行sysctl -p使上一部的配置生效,centos 7可能会报如下错误:

 

 

需要加载下nf_conntrack模块,命令如下:

modprobe nf_conntrack

加载完后,需要再次执行sysctl -p

 

  1. 在主机A上:在路由机器(具备外网IP)设置iptables转发规则,
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
  1. 在主机B上和主机C上:修改/etc/sysconfig/network-scripts/ifcfg-eth0,修改网关,使默认路由为路由机器(具备外网IP的主机A)的内网IP。
#GATEWAY=10.6.0.1
GATEWAY=10.6.14.98
  1. 在主机B和主机C上用ping命令进行测试,如果能ping通说明已经可以访问外网了。

 

 

类别:Linux | 浏览(389) | 评论(0) | 阅读全文>>

PHP解码escape函数编码的字符串函数【转载】

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;  
    }  
} 

 

类别:PHP | 浏览(148) | 评论(0) | 阅读全文>>