·Redis 常见数据类型
string
可存储三种类型值:
- 字符串
- 整数
- 浮点数
string是最基本的类型,value可以是数字、字符串或者二进制数据。string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。
常用于缓存、计数、共享session,分布式锁
进行自增等操作,如果值无法解释为整数或者浮点数,则返回错误。
处理字符串:
hash
Redis的散列可以让用户将多个键值对存储到一个Redis键里面。从功能上来说,Redis为散列值提供了一些与字符串值相同的特性,使得散列非常适用于将一些相关的数据存储在一起。我们可以把这种数据聚集看作是关系数据库中的行。
list
- 多节点数据采集,然后统一保存
- 最近浏览文章或常用联系人信息
set 集合
集合以无序的方式存储多个 各不相同的元素
支持交集,并集,差集
适合做全局去重,如粉丝关注、共同好友等功能
# 往集合key中存入元素,元素存在则忽略,若key不存在则新建
SADD key member [member ...]
# 从集合key中删除元素
SREM key member [member ...]
# 获取集合key中所有元素
SMEMBERS key
# 获取集合key中的元素个数
SCARD key
# 判断member元素是否存在于集合key中
SISMEMBER key member
# 从集合key中随机选出count个元素,元素不从key中删除
SRANDMEMBER key [count]
# 从集合key中随机选出count个元素,元素从key中删除
SPOP key [count]
# 交集运算
SINTER key [key ...]
# 将交集结果存入新集合destination中
SINTERSTORE destination key [key ...]
# 并集运算
SUNION key [key ...]
# 将并集结果存入新集合destination中
SUNIONSTORE destination key [key ...]
# 差集运算
SDIFF key [key ...]
# 将差集结果存入新集合destination中
SDIFFSTORE destination key [key ...]
zset
带分数的集合,常用于排行榜
实例:使用zset实现ip地址查询,通过 ZREVRANGEBYSCORE ip_city
查询目前ip所在城市