一、简介 mysql的binlog是个好东西,什么主从复制、实时备份、意外删除数据后还原数据可以用到它。 &n […]
Month: 三月 2014
Squid服务器(三) —— 反向代理
Squid服务器(二) —— 透明代理服务器
LVS负载均衡(一) —— nat模式
Redis(十) —— 为php增加redis扩展
Redis(九) —— 安全
Redis(八) —— 简单命令之set、sortedset
一、set(无序的集合)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# sadd 将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略。 # 语法 SADD key member [member ...] 127.0.0.1:6379> sadd set1 nihao hehe hello world (integer) 4 # smembers 返回集合 key 中的所有成员。 # 语法 SMEMBERS key 127.0.0.1:6379> smembers set1 1) "nihao" 2) "world" 3) "hello" 4) "hehe" # sismember 判断 member 元素是否集合 key 的成员。 # 语法 SISMEMBER key member # 是成员返回1 127.0.0.1:6379> sismember set1 nihao (integer) 1 # 不是成员返回0 127.0.0.1:6379> sismember set1 interface (integer) 0 # srandmember 如果命令执行时,只提供了 key 参数,那么返回集合中的一个随机元素。 # 语法 SRANDMEMBER key [count] 127.0.0.1:6379> srandmember set1 1 1) "nihao" 127.0.0.1:6379> srandmember set1 1 1) "world" 127.0.0.1:6379> srandmember set1 1 1) "hehe" 127.0.0.1:6379> srandmember set1 1 1) "hello" 127.0.0.1:6379> srandmember set1 1 1) "nihao" 127.0.0.1:6379> srandmember set1 1 1) "nihao" 127.0.0.1:6379> srandmember set1 1 1) "hehe" # spop 随机获取一个元素,与srandmember不同,spop会在原集合中移除,srandmember则不会。 # smove 将 member 元素从 source 集合移动到 destination 集合。 # 语法 SMOVE source destination member # 下面命令的意思是 将set1中的hehe元素移动到set2 127.0.0.1:6379> smove set1 set2 hehe (integer) 1 127.0.0.1:6379> smembers set1 1) "nihao" 2) "world" 3) "hello" 127.0.0.1:6379> smembers set2 1) "hehe" # srem 移除集合 key 中的一个或多个 member 元素,不存在的 member 元素会被忽略。 # 语法 SREM key member [member ...] 127.0.0.1:6379> srem set1 hello world (integer) 2 127.0.0.1:6379> smembers set1 1) "nihao" # scard 返回集合 key 的基数(集合中元素的数量)。 127.0.0.1:6379> scard set1 (integer) 1 127.0.0.1:6379> smembers set3 1) "1" 2) "2" 3) "3" 127.0.0.1:6379> smembers set4 1) "2" 2) "3" 3) "4" # sinter 获取交集 127.0.0.1:6379> sinter set3 set4 1) "2" 2) "3" # sinterstore 区别于sinter就是,sinterstore会将交集保存到一个新的集合内 # 如下:将set3 set4的交集存放到set5中 127.0.0.1:6379> sinterstore set5 set3 set4 (integer) 2 127.0.0.1:6379> smembers set5 1) "2" 2) "3" # sdiff(差集)、sdiffstore、sunion(并集)、sunionstore类似于sinter和sinterstore |
二、sorted […]
Redis(七) —— 简单命令之list
Redis(六) —— 简单命令之string、hash
一、string
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
# 设置值 127.0.0.1:6379> set key value OK # 获取值 127.0.0.1:6379> get key "value" #setnx 当key不存在是设置值,当key存在是忽略 如下 # num 不存在,设置成功,返回1表示true 127.0.0.1:6379> setnx num 1 (integer) 1 127.0.0.1:6379> get num "1" # key 存在,忽略操作,返回0表示false 127.0.0.1:6379> setnx key val (integer) 0 # 获取key,值未改变 127.0.0.1:6379> get key "value" # setex 将值 value 关联到 key ,并将 key 的生存时间设为 seconds (以秒为单位)。 # 设置key为 nihao 值为hehe 存在10秒 127.0.0.1:6379> setex nihao 10 hehe OK # TTL 查看剩余时间 127.0.0.1:6379> TTL nihao (integer) 7 127.0.0.1:6379> TTL nihao (integer) 5 # 10秒内可以获取值 127.0.0.1:6379> get nihao "hehe" 127.0.0.1:6379> TTL nihao (integer) 2 127.0.0.1:6379> TTL nihao (integer) 0 # 10秒后获取值为空 127.0.0.1:6379> get nihao (nil) # strlen 返回 key 所储存的字符串值的长度。 127.0.0.1:6379> strlen key (integer) 5 # setrange 用 value 参数覆写(overwrite)给定 key 所储存的字符串值,从偏移量 offset 开始。 127.0.0.1:6379> setrange key 3 UE (integer) 5 127.0.0.1:6379> get key "valUE" # getrange 返回 key 中字符串值的子字符串,字符串的截取范围由 start 和 end 两个偏移量决定(包括 start 和 end 在内)。 127.0.0.1:6379> getrange key 1 3 "alU" # incr 将 key 中储存的数字值增一。 # incrby 将 key 所储存的值加上增量 increment 。 # 原num为1, incr后,每次递增1 127.0.0.1:6379> incr num (integer) 2 127.0.0.1:6379> incr num (integer) 3 # incrby 递增指定数值,可以递增负数 127.0.0.1:6379> incrby num 10 (integer) 13 127.0.0.1:6379> incrby num -5 (integer) 8 # 注: decr、decrby 反之! # append 如果 key 已经存在并且是一个字符串, APPEND 命令将 value 追加到 key 原来的值的末尾。 127.0.0.1:6379> append key 12345 (integer) 10 127.0.0.1:6379> get key "valUE12345" # getset 将给定 key 的值设为 value ,并返回 key 的旧值(old value)。 127.0.0.1:6379> getset key helloworld "valUE12345" 127.0.0.1:6379> get key "helloworld" # mset 同时设置一个或多个 key-value 对。 # mget 返回所有(一个或多个)给定 key 的值。 127.0.0.1:6379> mset key1 val1 key2 val2 key3 val3 OK 127.0.0.1:6379> mget key1 key2 key3 1) "val1" 2) "val2" 3) "val3" # msetnx 类似 setnx # psetex 类似 setex, 以毫秒为单位 |
二、hash […]
Redis(五) —— 开机启动
一、准备工作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# 创建文件夹 mkdir -p /opt/data/redis/conf # 存放配置文件 mkdir -p /opt/data/redis/lib # 存放数据库数据 mkdir -p /opt/data/redis/log # 存放日志文件 # 当前目录在 /opt/data/redis 下 # 将conf文件移动至 /opt/data/redis/conf mv redis.conf conf/ # vim /conf/redis.conf # 将redis 设置为常驻进程 daemonize yes # 设置日志路径、数据库数据文件路径 logfile "/opt/data/redis/log/redis.log" dir /opt/data/redis/lib/ |
二、编写开机启动 […]