数据库学习

来源:互联网 发布:矩阵和向量相乘公式 编辑:程序博客网 时间:2024/06/05 09:23

Redis学习


每天进步一点点,今天来记录一下学习非关系型数据库nosqlredis是学习新的啦redis官网.

Redis具有以下特点:

  1. 非关系型数据库
  2. 以键值对(key->value)方式存储
  3. 基于内存的
  4. 支持五种数据类型Strings,Lists,Sets,Sorted Sets,Hashed。
  5. 单线程、单进程
  6. 支持主从模式,典型的分布式读写分离模型

Redis的回收策略

  1. Volatile-lru:从设置了过期时间的数据集中挑选最近最少使用的数据淘汰
  2. Volatile-ttl:从设置了过期时间的数据集中挑选最先过期的数据淘汰
  3. Volatile-random:从已设置了过期时间的数据集中随机挑选进行淘汰
  4. Allkeys-lru: 从全部数据集中挑选最近最少使用的数据淘汰
  5. Allkeys-Random:从全部数据集中随机挑选进行淘汰

Redis的有点

  1. 速度快,由于数据在内存中且使用了key->value的存储方式,查找和修改的时间复杂度都是O(1)
  2. 支持丰富的数据类型(五种数据类型)
  3. 支持事物,操作都是原子操作(单线程,单进程)
  4. 丰富的特性:可以用于缓存;消息;按key设置过期时间,过期后自动删除

Redis与memcached相比

  1. memcached只有字符串类型,Redis有五种数据类型
  2. Redis速度更快
  3. Redis可以持久化数据

Redis常见性能问题和解决方案:

  1. Master上最好不要做持久化工作
  2. 如果数据较为重要可以在某个Slave上开启备份,如AOF
  3. 为了主从复制的速度和链接稳定性,master与slave最好在一个局域网内
  4. 尽量避免压力很大的master上增加从库
  5. 可以使用 master->slave1->slave2->slave3….这样便于解决单点故障,实时替换掉出错的Master,用后继Slave替换。
原创粉丝点击