NoSQL:Not only SQL
非关系型数据库
NoSQL特点:
1 方便扩展(数据之间没有关系,很好扩展)
2 大数据量高性能(Redis一秒可以写8万次,一秒可以读11万次,NoSQL的缓存记录级是一种细粒度的缓存,性能会比较高)
3 数据类型是多样型的,不需要事先设计数据库,随取随用。
RDBMS:关系型数据库 和NoSQL:
Redis(Remote dictionary server)远程字典服务:
也被称为结构化数据库
Redis到底能干嘛?
特性:
Redis是单线程的,是基于内存操作的,默认有16个数据库,默认使用第0个数据库。CPU不是redis性能瓶颈,是基于内存和网络带宽,既然可以用单线程实现,就用单线程了。
Redis是C语言写的,官方提供100000+的QPS,完全不比Memecache差。
getrange key 0 3 表示取闭区间,0,1,2,3
setnx:表示不存在再设置,如果存在则创建失败
mset 或者msetnx 原子性操作。
所有list的命令都是以l开头的。
scard myset 表示获取集合元素中的个数。
GEO底层是ZSet。
Redis单条命令保证原子性,事务不保证原子性。
Redis事务本质:一组命令的集合,一个事务的所有命令都会被序列化,在事务执行过程,会按照顺序执行!一次性,顺序性,排他性,执行一系列的命令。
discard表示取消事务
Redis模板:
主从复制:
布隆过滤器:
缓存击穿: