Redis知识总结
1.什么是Redis
Redis是一个nosql(not only sql 不仅仅只有sql)数据库,翻译成中文叫做非关系型数据库,低由C语言开发,数据模型为key-value
关系型数据库:以二维表存储数据
非关系型数据库:以键值对(Key,Value)形式存储数据
Redis是一家意大利的创业公司出的,后被VMware公司赞助,Redis底层由c语言编写
Redis是将数据存放到内存中,由于内存中的存取速度高于硬盘(固态硬盘,机械硬盘)存储数据,所以Redis被广泛应用于互联网项目中
Redis优点:存取速度快,官方称读数据速度会达到30万次/秒,写数据在10万次/秒,具体限制于硬件
Redis缺点:对持久化支持不够好
所以Redis一般不作为数据的主数据库存储,一般配合传统的关系型数据库使用
2.Redis应用领域
分布式缓存
分布式session
保存博客或者论坛的留言回复等
总之是用在数据量大,并发量高的情况下
3.Redis怎么用
Redis主要就是使用命令来进行操作,Java中在代码里可以使用Jedis来操作Redis服务器
Redis数据类型分为以下几种
- 字符串 String
- 列表list:Redis中使用的是双向循环链表来实现list,在Redis中更像栈
- 散列Hash:一般应用于将Redis作为分布式缓存,存储数据中的数据对象
- 集合set:set中数据是无序的并且不重复
- 有序集合zset:Redis中会根据分数自动排序,这里可以使用在学生成绩排序,或者是手机应用商店流行软件排名等需求中
4.Redis持久化方案
rdb:可以设置间隔多长时间保存一次(Redis不用任何配置默认的持久化方案)
优点:让Redis的数据存取速度变快(保存速度会很慢)
缺点:服务器断电时会丢失部分数据(数据的完整性得不到保障)
aol:可以设置实时保存
优点:持久化良好,能够保证数据完整性
缺点:大大降低了Redis的存取速度
一般企业用rdb
5.主从复制
这里使用了心跳(ping pong)检测机制,主从复制必须是使用rdb持久化方式
从服务器一般是只读的,保证主从服务器中的数据一致性
6.缓存方式分为两种
数据缓存和页面缓存(smarty)
7.Redis和memcache比较
①Redis不仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash数据结构的存储
②Redis支持master-slave(主从)模式应用
③Redis支持数据的持久化,可以将内存中数据保存在磁盘中,重启的时候可以再次加载使用
④Redis单个value的最大限制是1GB,memcache只能保存1MB的数据
注:以上为博主查阅多方资料并尝试总结所得,如需转载,请标注来源,尊重劳动成果,谢谢!