Redis第二天
一.Set集合(排重,无序集合)
1.sadd <k> <v1><v2>...
2.smembers <k> 取值
3.sismember <k><v> 是否存在 value
4.scard <k> 值(value)的数量
5.srem <k> <v1><v2> 删除k中的值
6.spop 随机取值并且排除
7.srandmember <k> count随机取值不排除
8.smove <src> <dest> value 将src中值移动到dest中
9.sinter <k1><k2> 交集
10.sunion <k1><k2> 并集
11.sdiff <k1><k2> 差集 (k1中有k2中无)
二.Hash 哈希
1.hset <k> <field><value>
2.hget <k> <field> 取value
3.hmset <k> <field><value><field><value>...
4.hexists <k> <f> 是否存在
5.hkeys <k> 显示所有field
6.hvals <k> 显示所有value
7.hincrby <k><f> 值增加
8.hsetnx 添加不存在的field
k v
user -> field:value
数据量少时使用ziplist(压缩列表)数据量多时使用hashtable
三.Zset 有(序集合无重复元素)
1.zadd <k> <score1><v1><score2><v2> 将一个或多个member及其score加入集合k中
2.zrange <k> 0 -1 [withscores(带上数值)] 查看所有并从小到大排列
3.zrangebyscore <k> [min max] [withscores]
zrevrangescore 从大到小排列
4.zincrby <k> <increment> <v> 加上增量
5.zrem <k> <v> 删除
6.zcount <k> <min><max> [200~300] 值的个数
7.zrank <k> <v> 排名
四.redis配置文件位置
/etc/redis.conf 用vi打开
五.发布和订阅
订阅 SUBSCRIBE [channel]
发布 publish [channel] message
六新数据类型
1.1 Bitmaps (k-v)专门进行位操作的字符串(节约空间)
1.2 setbit <k> <offset> <value>
1.3 getbit <k> <offset> 获得值
1.4 bitcount <k> 1的数量
1.5 bitop and/cor/not/xor 交/并/非/异或
2.1 HyperLoglog 是用来做基数(数据集中不重复的元素)统计的算法
2.2 pfadd <k> <element>增加
2.3 pfcount 基数的数量
2.4 pfmerge <k> <k1><k2> 将k1和k2加到k中
3.1 GEO 地理位置操作
3.2 geoadd china:city 121.47 31.24 shanghai
3.3 geopos <k><member> 获取位置
3.4 geodist <k> <member1><member2>获取两地距离 [m|km|ft|mi]
3.5 georadius china 1100 300 10 km (获取1100,300 此地半径为10km的城市)