memcached删除数据
redis什么类型数据库?
redis什么类型数据库?
1. 什么是Redis
一款内存高速缓存数据库(全称远程数据服务);
使用C语言编写
Redis是一个key-value存储系统,它支持丰富的数据类型,如:string、list、set、zset(sorted set)、hash等
特点
Redis以内存作为数据存储介质,所以读写数据的效率极高,远远超过数据库。以设置和获取一个256字节字符串为例,它的读取速度可高达110000次/s,写速度高达81000次/s。
储存在Redis中的数据是持久化的,断电或重启后,数据也不会丢失。-----Redis的存储分为内存存储、磁盘存储和log文件三部分,重启后,Redis可以从磁盘重新将数据加载到内存中。(实现持久化)
应用场景,它能做什么
在服务器中常用来存储一些需要频繁调取的数据,这样可以大大节省系统直接读取磁盘来获得数据的I/O开销,更重要的是可以极大提升速度。(拿大型网站来举个例子,比如a网站首页一天有100万人访问,其中有一个板块为推荐新闻。要是直接从数据库查询,那么一天就要多消耗100万次数据库请求。上面已经说过,Redis支持丰富的数据类型,所以这完全可以用Redis来完成,将这种热点数据存到Redis(内存)中,要用的时候,直接从内存取,极大的提高了速度和节约了服务器的开销。)
使用Redis有哪些好处?
(1) 速度快,因为数据存在内存中,类似于HashMap,HashMap的优势就是查找和操作的时间复杂度都是O(1)
(2) 支持丰富数据类型,支持string,list,set,sorted set,hash
(3) 支持事务,操作都是原子性,所谓的原子性就是对数据的更改要么全部执行,要么全部不执行
(4) 丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除
redis相比memcached有哪些优势?
(1) memcached所有的值均是简单的字符串,redis作为其替代者,支持更为丰富的数据类型
(2) redis的速度比memcached快很多
(3) redis可以持久化其数据
redis常见性能问题和解决方案:
(1) Master最好不要做任何持久化工作,如RDB内存快照和AOF日志文件
(2) 如果数据比较重要,某个Slave开启AOF备份数据,策略设置为每秒同步一次
(3) 为了主从复制的速度和连接的稳定性,Master和Slave最好在同一个局域网内
(4) 尽量避免在压力很大的主库上增加从库
(5) 主从复制不要用图状结构,用单向链表结构更为稳定
和mysql的区别总结
(1)类型上
从类型上来说,mysql是关系型数据库,redis是缓存数据库
(2)作用上
mysql用于持久化的存储数据到硬盘,功能强大,但是速度较慢
redis用于存储使用较为频繁的数据到缓存中,读取速度快
(3)需求上
mysql和redis因为需求的不同,一般都是配合使用。
和mysql要根据具体业务场景去选型
redis和mysql要根据具体业务场景去选型
mysql:数据放在磁盘 redis:数据放在内存
mysql支持sql查询,可以实现一些关联的查询以及统计;
redis对内存要求比较高,在有限的条件下不能把所有数据都放在redis;
mysql偏向于存数据,redis偏向于快速取数据,但redis查询复杂的表关系时不如mysql,所以可以把热门的数据放redis,mysql存基本数据
nosql的三种类型?
NoSQL数据库根据数据模式的不同分为四种类型:键值数据库、文档型数据库、列族型数据库和图数据库。
1.键值数据库
键值数据库以键/值对形式存储数据,键必须唯一,这和哈希表的存储/操作方式类似。主键对应的值可以是任意二进制数据(包括文本数据),NoSQL数据库不知道数据内部细节,应用程序负责解析其语义。应用编程接口非常简单,支持读、写和删除键值对。有些键值数据库支持主键排序和范围(Range)操作。键值数据库性能出色,扩展性很好。流行的键值数据库包括Riak、Redis(由于可以存储集合、列表等,也称为数据结构服务器)、Memcached等。
2.文档型数据库
文档型数据库的核心数据模型是文档(半结构化数据),以键/文档对存储。文档可以是XML、JSON、BSON等格式。文档多为树形结构,可以包含数组、子文档等。不同的文档可以有不同的字段,相同的字段可以有不同的数据类型。和键值数据库相比,文档内容对数据库可见,因而支持对文档的特定字段建立索引以实现高效检索。常见的文档型数据库包括MongoDB、CouchDB等。
3.列族型数据库列族型(Column-family)
数据库支持定义多个列族,每个列族内允许定义可变数量的列,支持动态定义新列。通常将逻辑上相关、经常同时访问的数据放在一个列族内。和关系数据模型相比,可以把列族看成关系模型的一个列,列对应的值是一个复杂结构。常见的列族型数据库有Cassandra、HBase、Hypertable等。
4.图数据库
图数据库支持非常灵活的实体关系,实体称为顶点,实体间的关系称为边。在图数据库中,边是内嵌的概念。常见的图数据库有Neo4J、OrientDB等。