初步了解
redis为内存级数据库、非关系型数据库。速度快,适用于高并发。
特点
1.key-value存储系统
2.与Memcached内存级别的缓存
3.数据结构
4.持久化
应用场景
1.显示最新的项目列表2.删除过滤
3.排行榜
4.用户投票和时间排序
5.统计高分用户,活跃用户
6.抽奖(无重复)
7.标签系统
案例1 实现标签
标签系统的sql库的设计
基础表以及数据
create table book(
bid int primary key auto_increment,
title varchar(50)
)
insert into book(title) values('php圣经');
insert into book(title) values('ruby实战');
insert into book(title) values('mysql运维');
insert into book(title) values('ruby开发器');
create table tags(
tid int,
bid int,
cotent varchar(50)
);
insert into tags(bid,cotent) values(1,'php');
insert into tags(bid,cotent) values(1,'web开发');
insert into tags(bid,cotent) values(2,'ruby');
insert into tags(bid,cotent) values(2,'web开发');
insert into tags(bid,cotent) values(3,'mysql');
insert into tags(bid,cotent) values(3,'Oracle');
insert into tags(bid,cotent) values(3,'sql');
insert into tags(bid,cotent) values(4,'ruby');
查询操作
redis实现
设计:
书的信息(表)存储的数据结构:选用hash
键:book:序号
title:xxxx
author:xxxx
price:20
redis:存标签的部分用数据类型
set -> inter union diff
具体实现:
通过redis的set数据类型带有的sinter,sunion,sdiff可以快速得到要查找的标签记录。