Redis简介

来源:互联网 发布:js组件是什么 编辑:程序博客网 时间:2024/05/03 13:57

  大型网站数据访问量是非常高的,而且不仅要保证数据访问的稳定性,还需要保证数据访问的速度要快。依靠数据库和数据库集群可以解决一部分这样的问题,但是一定程度下,这样做还是不够的。为了减小数据库的压力,我们经常会用到各种各样的缓存,Redis就是当前很流行的缓存数据库。


  Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库,类似于Memcached。它通过提供多种键值数据类型,来适应不同场景下的存储需求。并且Redis也支持集群模式,这样更能体现Redis的性能。


Redis和Memcached


  1、Redis是单线程模型,Memcached是支持多线程的,但是Redis的性能足够好,所以绝大部分情况下,Redis的性能都可以支持。


  2、Memcached是只支持String类型的,而且它的Key和Value都是有大小限制的,Key要小于250B,Value要小于1MB;Redis支持多种数据类型,目前来说,Redis可以支持以下五种:

  字符串类型

  散列类型

  列表类型

  集合类型

  有序集合类型


  3、Redis可以进行数据持久化,虽然Memcached也支持,但是因为数据类型的限制,一些高级的数据类型的持久化就需要Redis来进行。


Redis的应用场景


  Redis是单线程模式的,所有的操作都是原子性的,而且性能极高,访问速度极快等。根据Redis的这些特点,它有以下一些应用场景:


1、缓存

  Redis主要是做缓存用的,数据查询、电商系统的商品内容等等,都是利用的Redis的缓存功能。


2、队列

  Redis同样可以做任务队列,例如秒杀、抢购等业务,利用Redis的一些命令来完成。


3、数据过期处理

  可以利用Redis对过期数据的处理特点来完成。


Redis数据库


  Redis共有16个库,分别是db0-db15,默认存储使用0号库。Redis的库的个数可以在配置文件中配置,在安装路径下有一个redis.conf文件可以配置,当然默认使用的库也是可以更改的,需要使用Redis命令进行更改。


  Redis不支持自定义数据库名字,每个数据库有自己的编号,开发时需要开发人员知道哪些库中存储了哪些数据。Redis的库和库之间是隔离的,不同库中可以存储相同key值的数据。Redis的库和库之间的权限相同,如果可以访问,那么每个库都可以访问;如果不可以访问,哪个库都是不能访问的。


  初次学习,理解不是很透彻,如果有不对的地方,欢迎过路的大牛拍砖。下面将继续介绍Redis的安装。

0 0
原创粉丝点击