[.net 面向对象程序设计深入](36)Redis——基础

很长一段时间没更新博客了,坚持做一件事,真不是件容易的事,后面我会继续尽可能的花时间更新完这个系列文章。

因这个系列的文章涉及的范围太大了,后面更新不一定会按目录顺序进行,但并不会影响阅读。

最近几年随着电商行业的飞速发展,高可用、高并发、高性能的要求不断提高,Redis火的不要不要的,甚至各种人才招聘的要求中不断出现要会Redis。

不了解感觉这些东西都是大牛们才会的,其实并非那么难学,只要用心,没有学不会的东西。

1、Redis是什么?

Redis 是一种非关系型数据库(也就是NoSql,泛指非关系型数据库)。它是一个Key-Value(键-值)存储系统。

这个Value不只是String类型,还包括List,Hash,Dictionary等等。

Redis支持网络、基于内存,还可以持久化的高性能的数据库,再通俗点说,就是你可以把它当用作数据缓存,也可以当成一个数据库使用,因为可以持久化。

Redis是一个开源项目,它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等众多语言客户端。

Redis的官网:redis.io

2、哪些项目使用Redis?

国内新浪、淘宝,国外像 Flickr、Github等均在使用Redis的缓存服务。还有很多很多。。。真的火的不要不要的。。

3、关于Redis的疑问?

(1).为什么我不直接使用List,Hash,Dictionary这些数据结构缓存数据呢?

a.这些数据结构是可以缓存,但不能直接跨网络或说是跨服务器使用。

b.不能直接持久化,你必须序列化以后写入磁盘(或是数据库),而Redis本身就是个数据库,并且支持这些数据结构持久化。

(2).Resis能干啥?

a.数据库(DataBase):前面说了,它是一个Key-Value的存储系统,可以持久化数据,当然可以当数据库使用。

b.缓存(Cache):它也是一个基于内存,支持网络,还有一个特性就是高性能,因此在这个时间就是生命的年代,众多爱好Redis的朋友就拿它缓存数据。不但支持的数据类型多,还支持网络数据共享。

c.消息代理(Message Broker):Redis支持消息代理,支持主从服务器同步,还有阻塞队列的命令,能够让一个程序在执行时被另一个程序添加到队列。因此消息队列实现变得简单,而且具有较高性能。

除此之外,还有很多场景可以使用,后面慢慢介绍。

后面详细介绍Redis的安装及在项目的使用。

==============================================================================================

返回目录

<如果对你有帮助,记得点一下推荐哦,如有有不明白或错误之处,请多交流>

<对本系列文章阅读有困难的朋友,请先看 《.net 面向对象编程基础》和 《.net 面向对象程序设计进阶》 >

<转载声明:技术需要共享精神,欢迎转载本博客中的文章,但请注明版权及URL>

.NET 技术交流群:239031814 

==============================================================================================

[.net 面向对象程序设计深入](36)Redis——基础的更多相关文章

  1. JavaSE-12 面向对象程序设计的几条基础原则

    摘取代码中变化的行为,形成接口 在设计基类的时候,如果该类某个成员方法在子类中的实现变化差别比较大(一部分子类实现该方法是相同的),作为基类有两个问题:一是该方法不再通用:二是子类如果重写该方法,存在 ...

  2. [.net 面向对象程序设计深入](14)Redis——基础

    [.net 面向对象程序设计深入](14)Redis——基础 很长一段时间没更新博客了,坚持做一件事,真不是件容易的事,后面我会继续尽可能的花时间更新完这个系列文章. 因这个系列的文章涉及的范围太大了 ...

  3. Java面向对象程序设计--与C++对比说明:系列1(面向对象基础)

         面向对象程序设计作为一种重要的程序设计思想,在近些年来得到广泛的推崇.而Java和C++更是面向对象程序设计语言中的翘楚,要彻底摸清面向对象程序设计的精髓和在实际应用中更加高效的进行代码设计 ...

  4. 【 .NET 面向对象程序设计进阶》】【 《.NET 面向对象编程基础》】【《正则表达式助手》】

    <.NET 面向对象程序设计进阶> <.NET 面向对象程序设计进阶> <正则表达式助手>

  5. 零基础学Python--------第7章 面向对象程序设计

    第7章 面向对象程序设计 7.1 面向对象概述 面向对象(Object Oriented)的英文缩写是OO,它是一种设计思想.从20世纪60年代提出面向对象的概念到现在,它已经发展成为一种比较成熟的编 ...

  6. Python基础(16)_面向对象程序设计(类、继承、派生、组合、接口)

    一.面向过程程序设计与面向对象程序设计 面向过程的程序设计:核心是过程,过程就解决问题的步骤,基于该思想设计程序就像是在设计一条流水线,是一种机械式的思维方式 优点:复杂的问题的简单化,流程化 缺点: ...

  7. c++基础(七)——面向对象程序设计

    面向对象程序设计(Object-oriented programming)的核心思想是数据抽象,继承,和动态绑定. 1. 继承 在C++语言中,基类将类型相关的函数与派生类不做改变直接继承的函数区分对 ...

  8. Java面向对象程序设计--与C++对比说明:系列3(Java 继承机制)

    继承(inheritance)背后的核心思想是:       bonus = b;    }      } Java没有像C++那样提供多继承机制,但提供了接口机制,在后面我们将详细探究接口机制的实现 ...

  9. 20175221曾祥杰 实验二《Java面向对象程序设计》

    实验二<Java面向对象程序设计> 实验报告封面 课程:Java程序设计 班级:1752班 姓名:曾祥杰 学号:20175221 指导教师:娄嘉鹏 实验日期:2019年4月17日 实验时间 ...

随机推荐

  1. Vue实例学习过程中碰到的小问题

    在使用插值表达式{{  }}取data中list数组中的值时把整个表达式当做文本显示了,原因不明,但是使用v-text替换插值表达式之后问题得到解决. 原因已经查明,因为第78行,定义对象car时后面 ...

  2. 《剑指offer》平衡二叉树

    本题来自<剑指offer> 反转链表 题目: 思路: C++ Code: Python Code: 总结:

  3. mysql主从不同步原理

    mysql replication 中slave机器上有两个关键的进程,死一个都不行,一个是slave_sql_running,一个是Slave_IO_Running,一个负责与主机的io通信,一个负 ...

  4. golang 实现广度优先算法(走迷宫)

    maze.go package main import ( "fmt" "os" ) /** * 广度优先算法 */ /** * 从文件中读取数据 */ fun ...

  5. 【JavaScript】$.extend使用心得及源码研究

    最近写多了js的面向对象编程,用$.extend写继承写得很顺手.但是在使用过程中发现有几个问题. 1.深拷贝 $.extend默认是浅拷贝,这意味着在继承复杂对象时,对象中内嵌的对象无法被拷贝到. ...

  6. 白话大数据 | Spark和Hadoop到底谁更厉害?

    要想搞清楚spark跟Hadoop到底谁更厉害,首先得明白spark到底是什么鬼. 经过之前的介绍大家应该非常了解什么是Hadoop了(不了解的点击这里:白话大数据 | hadoop究竟是什么鬼),简 ...

  7. Redis 缓存失效和回收机制

    本文及后续文章,Redis版本均是v3.2.8 一.内存回收策略 maxmemory配置用于配置Redis存储数据时指定限制的内存大小.我们可以通过redis.conf配置或者使用CONFIG SET ...

  8. 线程池ThreadPoolTaskExecutor配置说明

    一般实际开发中经常用到多线程,所以需要使用线程池了, ThreadPoolTaskExecutor通常通过XML方式配置,或者通过Executors的工厂方法进行配置.  XML方式配置代码如下:交给 ...

  9. vue-cli3.0使用及配置

    1.先全局安装vue-cli3.0 检测安装: vue -V 2.创建项目(这个就跟react创建脚手架项目比较像了)   这里如果你是第一次用3.0版本的话,是没有前两个的,而只有最后两个,这里是 ...

  10. anaconda 命令集合

    0.安装 $ bash ~/Downloads/Anaconda3-5.3.1-MacOSX-x86_64.sh source ~/.bash_profile 1.查看 anaconda 的版本 co ...