一、Redis介绍:

  redis的发展历史简单的理解为因为使用类似MySql这类关系型数据库不方便进而开发的开源的、轻量级的、非关系型的,直到现在一直不断完善的一款NoSql数据库。具体的介绍大家可以上网搜一下,这里就不做介绍了。

1、特性:

  1.1存储结构

    redis以字典结构存储数据,通俗的讲是以key=value(键值对)的形式存储的,并允许其他应用通过TCP协议读取字典中的内容。

    目前redis支持的数据类型有:字符串类型(string);散列类型(hash);列表类型(list);集合类型(set);有序集合类型(zset)。

    这种存储结构的优势:

      在关系型数据库中,不同的数据需要放在不同的表中,有特定需要的话需要进行多表连查。而对于redis这样以键值的形式存储的数据而言,可以对键进行差集、交集、并集的操作,方便很多。

  1.2内存存储与持久化

    redis数据库中所有的数据都存在内存中。由于内存的读写速度远快于硬盘,因此,redis在性能上远超于那些读取到磁盘上的数据库,在一台普通的笔记本电脑上,redis可以在一秒内读写超过十万个键值。

    将数据存储到内存中也是有隐患的,例如程序突然退出后内存中的数据就没了。不过,redis提供了持久化的支持,通过RDB方式或者AOF方式将内存数据持久化到磁盘上,两种方式后面总结。

  1.3功能丰富

    redis虽然是作数据库开发的,但是很多用做缓存和队列使用的。

    redis中可以设置键的生存时间,生存时间到期后就会自动删除。这一功能可以作为缓存来使用。redis是单线程模式,而memcached支持多线程,在多核服务器上memcached性能更高。作为缓存系统,redis还可以限定数据占用的空间大小,超出空间限制后按照一定的规则删除不必要的键。

    除此之外,redis的列表类型键可以用来实现队列,可以支持阻塞式读取,可以很容易实现一个高性能的优先级队列。更高层次上,redis还支持“订阅/发布”的消息模式,可以基于此来构建聊天室等系统。

  1.4简单稳定

    再强大的功能使用起来很复杂同样不会很吸引人,然而redis使用起来也相当的方便简单。

    例如:在常规的关系型数据库中想要获取user表的usercode为3的username字段数据时使用SQL语句:select username from user where usercode = 3;

       然而在redis中是以键值对的形式存储的,我们只需要按键取值即可:HGET user:3 username

                                       注:此笔记仅根据本人理解所写,如有错误之处,还请留言指正,谢谢。

redis笔记总结之redis介绍的更多相关文章

  1. redis笔记总结之redis数据类型及常用命令

    三.常用命令 3.1 字符串类型(string) 字符串类型是Redis中最基本的数据类型,一个字符串类型的键允许存储的数据的最大容量为512MB. 3.1.1 赋值与取值: SET key valu ...

  2. redis笔记总结之redis安装

    二.Redis安装 2.1 Redis下载 官网地址:http://redis.io/ 下载地址:http://download.redis.io/releases/redis-3.0.0.tar.g ...

  3. python学习笔记(十一)redis的介绍及安装

    一.redis简介 1.redis是一个开源的.使用C语言编写的.支持网络交互的.可基于内存也可持久化的Key-Value数据库.       2.redis的官网地址,非常好记,是redis.io. ...

  4. 【Redis笔记(四)】 Redis数据结构 - list链表

    原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/50573605 经过前面的介绍,我们学习了Redis中string字符串.hash ...

  5. redis笔记补充

    redis补充 这篇文章是redis入门笔记的补充. 1.info命令 用来显示服务的信息. info命令可以跟下面的选项: server: 关于 Redis 服务器的一些信息 clients: 客户 ...

  6. Redis 笔记 01:入门篇

    Redis 笔记 01:入门篇 ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...

  7. 17.Python笔记之memcached&redis

    作者:刘耀 博客:www.liuyao.me 博客园:www.cnblogs.com/liu-yao 一.Memcached 1.介绍 Memcached 是一个高性能的分布式内存对象缓存系统,用于动 ...

  8. Redis 笔记与总结6 Redis 高级应用之 事务处理、持久化操作、pub_sub、虚拟内存

    3.事务处理 redis 对事务的支持目前还比较简单. redis 只能保证一个 client 发起的事务中的命令可以连续的执行,而中间不会插入其他 client 的命令. 由于 redis 是单线 ...

  9. Redis 学习笔记4: Redis 3.2.1 集群搭建

    在CenOS 6.7 linux环境下搭建Redis 集群环境 1.下载最新的Redis版本 本人下载的Redis版本是3.2.1版本,下载之后,解压,编译(make): 具体操作可以参考我的博文:R ...

随机推荐

  1. C语言_scanf()和getchar() 使用[粗俗易懂]

    原文地址:http://blog.csdn.net/hao5743/article/details/6939661/,以下是我重新整理的以下. 问题描述一:[分析scanf()和getchar()读取 ...

  2. HDU - 2181 dfs [kuangbin带你飞]专题二

    保存每个节点的下一个节点一直往下面走就行了,不能重复经过某个点,当经过的点达到20个而且当前节点的下一个节点是起点就打印答案. AC代码 #include<cstdio> #include ...

  3. AGC010 - A: Addition

    原题链接 题意简述 给出一个个数的数列,每次选出两个奇偶性相同的数合成一个数,问最终能否只剩下一个数. 分析 非常简单的一道题. 两个偶数可以合成一个偶数,两个奇数也能合成一个偶数.所以合并偶数时偶数 ...

  4. websocket 和 ansible配合Tomcat实时日志给前端展示

    业务流程图如下 效果图展示 1.django安装websocket模块 pip install dwebsocket 2.shell脚本 用来传递不同的行号输出不同的内容; 第一个参数为0的时候,默认 ...

  5. nginx笔记4-负载均衡带来的问题以及解决办法

    接着笔记3,将笔记三的改造一下,现在分别启动两个Tomcat,在页面获取session.如图所示: tomcat2的session: tomcat1的session: 根据上图发现,每个tomcat取 ...

  6. 排序算法整理(python version)

    import random import time def bubble_sort(a): n=len(a) while n>1: for i in range(n-1): if a[i]> ...

  7. Servlet中forward和redirect的区别(转)

    forward方式:request.getRequestDispatcher("/somePage.jsp").forwardrequest, response);     red ...

  8. 裁剪Ubuntu内核和模块管理2

    准备工作 通常要运行的第一个命令是: #cd /usr/src/linux;make mrproper 该命令确保源代码目录下没有不正确的.o文件以及文件的互相依赖.由于我们使用刚下载的完整的源程序包 ...

  9. Android shape使用详解

    在android开发过程中,shape是比较常用的,用于设定控件的形状,可以在selector,layout等里面使用,有6个子标签,各属性说明如下: <?xml version="1 ...

  10. R语言︱情感分析—基于监督算法R语言实现(二)

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- 笔者寄语:本文大多内容来自未出版的<数据 ...