月度归档:2019年03月

Redis主从配置

Redis主从配置非常简单
# 第一步配置访问主库的密码
masterauth <master-password>
# 第二步redis-cli里直接开启同步
slaveof 192.168.78.129 8000 # 参数是主库IP和端口
slaveof no one # 关闭同步办法

.php.bin文件

opcache.file_cache string
配置二级缓存目录并启用二级缓存。 启用二级缓存可以在 SHM 内存满了、服务器重启或者重置 SHM 的时候提高性能。 默认值为空字符串 “”,表示禁用基于文件的缓存。

高效的简洁的inotify+rsync同步代码

#!/bin/bash
inotifywait -mrq /mnt/www/xxx --format "%w%f %e" -e modify,attrib,close_write,moved_to,moved_from,move,create,delete,delete_self,unmount | while read line
do
  # echo $line
  e=`echo ${line##* }`
  f=`echo ${line% *}`
  if [[ "$f" =~ "/mnt/www/xxx/patchs/" ]] || [[ "$f" =~ "/mnt/www/xxx/release/releases/" ]]; then
    # 排除两个不需要同步的目录
    continue
  fi
  if [[ ! -e "$f" ]]; then
    continue
  fi
  if [[ "$e" =~ "MOVED_TO" ]] || [[ "$e" =~ "CLOSE_WRITE" ]] || [[ "$e" =~ "ATTRIB" ]] || [[ "$e" =~ "CREATE,ISDIR" ]]; then
    rsync -a --delete-after $f f22@host1:$f
    rsync -a --delete-after $f f22@host2:$f
  elif [[ "$e" =~ "DELETE" ]] || [[ "$e" =~ "MOVED_FROM" ]]; then
    rsync --delete -a $f f22@host1:$f
    rsync --delete -a $f f22@host2:$f
  fi
done

Redis小知识

字符串:

一个字符串最大为 512M 字节。

列表:

LPUSH 命令用于插入一个元素到列表的头部,RPUSH 命令用于插入一个元素到列表的尾部。当这两个命令操
作在一个不存在的键时,将会创建一个新的列表。同样,如果一个操作会清空列表,那么该键将会从键空间 (key
space) 移除
。这些是非常方便的语义,因为列表命令如果使用不存在的键作为参数,就会表现得像命令运行在一
个空列表上一样。

列表的最大长度是 2^23-1 个元素 (4294967295,超过 40 亿个元素)。

Redis 集合具有你需要的不允许重复成员的性质。多次加入同一个元素到集合也只会有一个拷贝在其中。实际
上,这意味着加入一个元素到集合中并不需要检查元素是否已存在。

哈希 / 散列 (Hashes):

每个哈希可以存储多达 223-1 个字段值对 (field-value pair)(多于 40 亿个)。