Redis是什么
Redis是什么,首先Redis官网上是这么说的:A persistent key-value database with built-in net interface written in ANSI-C for Posix systems
Redis是 key value server , 它可以代替mysql作为数据库,它也可以作为cache服务器存储热数据。而且Redis支持复杂的数据特性,比如list,set。
互联网信息的存储方式有两种:
1.关系型数据库
2.key value
企业的业务数据并不是简单的数据特性,就比如权限管理,比如用户的权限,是个list数据结构。
如果用关系型数据库存储,需要用多行数据来存储权限,每行都会有冗余信息,如果用Redis存储
就可以变的简单和高效,因为redis支持list数据结构的原子性操作,可以添加或者删除原子成员。
而且使用Redis后也不用在关心数据持久化的问题。
用get/set方式使用Redis
作为一个key value 存储的存在,很多开发者自然的使用get/set方式使用redis
其实这不是最优化的使用方法,假设一个 key value 存储单元 最少占用 512个字节,
那么即使存放1字节的数据,也要占用一个存储单元 , 这时候就有个设计模式,可以
解决这个问题,可以复用key,几个key-value放入一个key中,value作为set使用,这样
就可以节约内存,这样同样的512字节,可以存放10-100倍的数据。
Redis存储方式(数据持久化):
1.快照(snapshots): 快照模式并不是很健壮,当系统停止或者是redis被kill掉时,最后写入到redis 的数据就会丢失
2.AOF:是一个纯文本的完全是Redis操作命令的文本,来弥补弥补快照模式的不足
3.AOF重写:因为AOP要记录每个操作日志,所以文件很大,而AOF重写是为了解决这个问题而存在的模式