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的数据

注:以上为博主查阅多方资料并尝试总结所得,如需转载,请标注来源,尊重劳动成果谢谢!

原文地址:https://www.cnblogs.com/wuhanjackh/p/12236386.html