Redis简介

本文介绍了Redis作为高性能键值对内存数据库的特点,包括其优秀的性能、单进程单线程设计、丰富的数据类型支持以及数据持久化能力。此外还探讨了Redis在缓存、任务队列、网站访问统计等多个应用场景。

目录

1.redis简介        

2.五种数据类型

3.Redis的应用场景


1.redis简介        

        介绍Redis之前,先了解下NoSQL (Not noly SQL)不仅仅是SQL,属于非关系型数据库;Redis就属于非关系型数据库。传统的Mysql ,oracle ,sql server 等 都是关系型数据库。NoSQL产品有MongoDB Redis等等,Redis目前主流。Redis是C语言开发的一个开源的(遵从BSD协议)高性能键值对(key-value)的内存数据库,可以用作数据库、缓存、消息中间件等。它是一种NoSQL(not-only sql,泛指非关系型数据库)的数据库。

        Redis作为一个内存数据库。1、性能优秀,数据在内存中,读写速度非常快,支持并发10W QPS;2、单进程单线程,是线程安全的,采用IO多路复用机制;3、丰富的数据类型,支持字符串(strings)、散列(hashes)、列表(lists)、集合(sets)、有序集合(sorted sets)等;4、支持数据持久化。可以将内存中数据保存在磁盘中,重启时加载;5、主从复制,哨兵,高可用;6、可以用作分布式锁;7、可以作为消息中间件使用,支持发布订阅

为什么需要NoSQL,主要应对以下问题:

  • High performance -高并发读写
  • Huge Storage-海量数据的高效率存储和访问
  • High Scalablility && High Availability 高可扩展性和高可用性

NoSQL的特点

  • 易扩展
  • 灵活的数据模型
  • 大数据量,高性能
  • 高可用

2.五种数据类型

  • 字符串类型
  • 列表类型
  • 有序集合类型
  • 散列类型
  • 集合类型

        首先redis内部使用一个redisObject对象来表示所有的key和value,redisObject最主要的信息如上图所示:type表示一个value对象具体是何种数据类型,encoding是不同数据类型在redis内部的存储方式。比如:type=string表示value存储的是一个普通字符串,那么encoding可以是raw或者int。

3.Redis的应用场景

  • 缓存
  • 任务队列
  • 网站访问统计
  • 数据过期处理
  • 应用排行榜
  • 分布式集群架构中的session分离
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值