zoukankan      html  css  js  c++  java
  • redis总结(持续更新)

    redis的定义

     

    在介绍redis之前,我们要介绍一些定义:

    1. NoSql:它泛指非关系型的数据库。

    2. 关系型数据库:就是以关系模型来建模的数据库管理系统,关系模型就是以行和列组成二维表。

    redis是NoSql数据库中使用较为广泛的非关系型内存数据库,它基于c语言开发。以key-value类型存储。他是单线程,memcache是多线程。

    redis默认一共有16个库,编号分别为0-15 默认为0号库,可以通过select来切换,语句为:select 4(意思是切换到4号库)

    为什么使用redis

     

    1. 传统数据库是基于磁盘读写,而redis是基于内存读写,可以很快的响应请求,可以支持每秒十几万次的读写操作。所以用好redis对于互联网项目的响应速度和性能至关重要。

    2. 数据结构简单,只有6种数据类型,且规则较少。

    3. redis支持的value类型更多,redis不仅支持内存存储,还支持持久化到磁盘。

    redis在web中的应用场景

     

    1. 缓存常用的数据。减轻数据库压力。

    2. 需要高速读写数据的场合使用它快速读写数据。比如抢红包,商品抢购等。

    redis应用于缓存

     

    在如今的互联网应用中,常常会存在一些需要高速读写操作的场合,比如商品的秒杀(双11),春运抢票等,一个瞬间可能就会有成千上万的请求,如果使用的是传统的数据库,很容易造成服务器的瘫痪,引发web服务的瘫痪,那么这种情况下一般应对办法就是异步写入数据库,在读写操作高速的情况下使用redis去应对,先缓存到redis中,不去操作数据库,等到高速作业的业务结束之后(一般都是商品数量为0,金额为0等),根据这些触发条件,将数据一次性批量写入数据库中。

    redis的6种数据类型

     

    String:字符串 是二进制安全的 最大能存储512MB

    hash:哈希 是一个键值对集合,是一个String类型的field和value的映射表,hash适合用于存储对象

    list:列表 是简单的字符串列表,可以添加一个元素到列表的头部(左边)或者尾部(右边) 最多可存储232-1元素

    set:集合 redis的set是string类型的无序集合

    zset(sorted set:有序集合): 不允许重复,每个元素都会关联一个double类型的分数,redis通过分数来为集合种的成员进行从小到大的排序。

    HyperLogLog:基数 

     

  • 相关阅读:
    数据库设计
    最近发生的事
    轻松搞定面试中的二叉树题目
    二叉树的遍历方法
    静态库Lib和动态库Dll
    深入理解C/C++数组和指针
    夜间日记
    typedef用法小结
    什么是静态链接库,什么是动态链接库
    线段树
  • 原文地址:https://www.cnblogs.com/flyinghome/p/12158479.html
Copyright © 2011-2022 走看看