一、什么是 redis
Redis是一个非关系型远程内存数据库,由于操作都在内存中,所以Redis的速度非常快,性能十分强劲。
它可以存储键和5种不同类型的值之间的映射。可以帮助用户解决各式各样的问题,直接将数据自然的映射到这5种数据结构。
通过复制、持久化和客户端分片功能,可以将Redis拓展成为一个包含数百GB的数据库,除非非常高的并发量。(其中:复制特性可以拓展读性能;客户端分片可以拓展写性能。)
同时,Redis还可以自动的以两种不同的方式将数据库内容持久化到硬盘,保证数据的完整性。
二、对比3种较为常用的数据库
①、Redis
数据库类型: 使用内存存储数据的非关系型数据库。
数据格式: 支持字符串、列表、集合、散列、有序集合数据类型。
查询类型: 每种数据类型都有属于自己的命令,拥有批量操作命令,部分事务支持
附加功能: 主从复制、持久化、脚本(存储过程)
②、memcached
数据库类型: 内存型键值对缓存数据库
数据格式: 键值之间的映射
查询类型: 创建、读取、更新、删除命令,外加几个其他命令
附加功能: 为提升性能而存在的多线程服务器
③、Mysql
数据库类型: 普通关系型数据库
数据格式: 一个库包含多个表,每个表包含多个行,多表处理
查询类型: 基础的SQL查询,函数,存储过程
附加功能: 支持ACID(Innodb),主从复制 + 主主复制
三、reids 的5种数据结构
①、string(字符串):不可重复
[
"lulubin1":"90",
"lulubin2":"100",
"lulubin3":"90"
]
②、list(列表):可重复
[
"user":[
"lulubin1",
"lulubin2",
"lulubin1"
]
]
③、set(集合):不可重复
[
"user":[
"lulubin1",
"lulubin2",
"lulubin3"
]
]
④、zset(有序集合):不可重复,且value只能是数字
[
"user":[
"lulubin1":90,
"lulubin2":100,
"lulubin3":90
]
]
⑤、hash(散列):不可重复,value任意类型
[
"user":[
"lulubin1":"90",
"lulubin2":"100",
"lulubin3":"90"
]
]