Fork me on GitHub
Suzf  Blog

Redis 主从复制

Redis 安装见 Redis Setup

环境
CentOS 6.x
Redis=3.0.7

master01
port 1111
192.168.9.10/24

ocean-lab
port 2222
192.168.9.70/24

主从复制
1.为什么使用,好处?
1.1 单个redis服务器压力过大,可考虑,master写,slave读,分散缓解服务器压力。
1.2 一个master可以拥有多个slave,而一个slave又可以...

Redis 安装与特性简述

Redis< Remote Dictionary Server  >作为NoSQL数据库的一种应用,响应速度和命中率上还是比较高效的。
项目中需要用集中式可横向扩展的缓存框架,做了一点调研,即便redis、memcached存在效率上的差异(具体比较参考http://timyang.net/data/mcdb-tt-redis/),但其实都能满足目前项目的需求;但是redis还是比较风骚的,支持链表和集合操作,支持正则表达式查找key,目前项目缓存的结果大多是链表,如果链表新增或者修改数据的话,redis就体现出了极大的优势(memcached只能重新加载链表,redis可以对链表新增或者修改)

到目前为止Redis 支持的数据类型如下:

-- 字符串类型

Python time 模块简述

一、简介

time模块提供各种操作时间的函数
说明:一般有两种表示时间的方式:
第一种是时间戳的方式(相对于1970.1.1 00:00:00以秒计算的偏移量),时间戳是惟一的
第二种以数组的形式表示即(struct_time),共有九个元素,分别表示,同一个时间戳的struct_time会因为时区不同而不同
year (four digits, e.g. 1998)
month (1-12)
day (1-31)
hours (0-23)
minutes (0-59)
seconds (0-59)
weekday (0-6, Monday is 0)
Julian day (day in the ...

MySQLdb 参数处理的坑

前几天又有同事掉进了给 SQL 的 IN 条件传参的坑,就像 SELECT col1, col2 FROM table1 WHERE id IN (1, 2, 3) 这类 SQL,如果是一个可变的列表作为 IN 的参数,那这个参数应该怎么传呢?

我见过至少这么几种:

id_list = [1, 2, 3]
cursor.execute('SELECT col1, col2 FROM table1 WHERE id IN (%s)', id_list)

这种方式是语法错误的,原因是 MySQLdb 做字符串格式化时占位符和参数个数不匹配。

id_list = [1, 2, 3]
cursor.execute('SELECT col1, col...
                
            

LVS 负载均衡简述

基础知识及一些要点
LVS 性能调优
工作模式
-- 通过NAT实现虚拟服务器(VS/NAT)
-- 通过IP隧道实现虚拟服务器(VS/TUN)
-- 通过直接路由实现虚拟服务器(VS/DR)

Load Balancer(负载均衡器):

Load Balancer是整个集群系统的前端,负责把客户请求转发到Real Server上。Load Balancer通过Ldirectord监测各Real Server的健康状况。在Real Server不可用时把它从群中剔除,恢复时重新加入。
Backup是备份Load Bala...

Shell 正则表达式

正则表达式的分类

  1. 基本的正则表达式(Basic Regular Expression 又叫Basic RegEx 简称BREs)
  2. 扩展的正则表达式(Extended Regular Expression 又叫Extended RegEx 简称EREs)
  3. Perl的正则表达式(Perl Regular Expression 又叫Perl RegEx 简称PREs)

基本组成部分

正则表达式的基本组成部分。

Re_2016-03-12...
                
            </div>
            <div class= Read more

Anaible 执行远程脚本

ansible 执行远程脚本 首先创建一个shell脚本

cat > /tmp/test.sh << EOF
#!/bin/bash
echo \`date\`
EOF

然后把该脚本分发到各个机器上

ansible -i .ansible.hosts alpha -m copy  -u lucy -k -a 'src=/tmp/test.sh dest=/tmp/test.sh mode=0755'
# ansible testhost -m copy -a "src=/tmp/test.sh dest=/tmp/test.sh mode=0755"

最后是批量执行该shell脚本

...