针对TB量级的数据,关系型数据库在可缩放方面几乎已经达到极限。一个解决方案是使用键值(Key-Value)存储数据库,这是一种NoSQL模型,非常适合不涉及过多业务关系,同时能有效减少读写磁盘的次数。
Redis 安装。Window 下安装,下载地址:https://github.com/MSOpenTech/redis/releases。
打开一个 cmd 窗口,使用 cd 命令切换目录到 类似C:\redis 运行:
redis-server.exe redis.windows.conf
如何设置、取出键值对?
这时候另启一个 cmd 窗口,原来的不要关闭,不然就无法访问服务端了。
切换到 redis 目录下运行:
redis-cli.exe -h 127.0.0.1 -p 6379
其中,127.0.0.1 是本机 IP ,6379 是 redis 服务端口。
设置键值对:
set myKey abc
取出键值对:
get myKey
Redis的5种数据类型:
(1)String:可以包含任何数据,比如jpg图片或者序列化的对象,一个键最大能存储512M。
命令:set、get。
(2)List:链表(双向链表),增删快,提供了操作某一段元素的API。适用于:最新消息排行等功能;消息队列。
命令:lpush、rpop。
(3)Set:集合。哈希表实现,元素不重复,为集合提供了求交集、并集、差集等操作。适用于:共同好友;利用唯一性,统计访问网站的所有独立ip;好友推荐时,根据tag求交集,大于某个阈值就可以推荐。
命令:sadd、scard、sismember。
(4)Hash:字典。键值对集合,即编程语言中的Map类型。适合存储对象,并且可以像数据库中update一个属性一样只修改某一项属性值。适用于:存储、读取、修改用户属性。
命令:hset、hget、hmset、hmget、hlen。
(5)Sorted Set:有序集合。将Set中的元素增加一个权重参数score,元素按score有序排列。数据插入集合时,已经进行天然排序。适用于:排行榜;带权重的消息队列。
命令:ZADD key score1 member1 [score2 member2]。
领取专属 10元无门槛券
私享最新 技术干货