一、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. php进阶之路--转载

    之前有看过相关的文章,觉得还是这篇详细点,有具体的目标实现起来才更有动力 转载自:http://wen.52fhy.com/2016/2016-09-03-PHP-cheng-xu-yuan-xue- ...

  2. PHP开发中多种方案实现高并发下的抢购、秒杀功能

    抢购.秒杀是如今很常见的一个应用场景,主要需要解决的问题有两个: 1 高并发对数据库产生的压力 2 竞争状态下如何解决库存的正确减少("超卖"问题) 对于第一个问题,已经很容易想到 ...

  3. CodeForces-747C

    直接模拟就行,用一个数组保存某个server上次是在哪个task里面即可很方便判断它现在是否可用. AC代码: #include<cstdio> #include<cstring&g ...

  4. java网络编程(7)——利用tcp实现文件上传

    其实客户端与服务端通讯的道理都是一样的,都是通过输入与输出这两个流,那么实现文件上传也就是同样的,客户端把文件读到文件流,服务端用文件流来接受,然后写到一个文件中,这样子就实现了文件上传,文件拷贝也是 ...

  5. HDU - 3001 Travelling 状压dp + 三进制 [kuangbin带你飞]专题二

    终于刷完搜索专题了. 题意:给定n个城市,每个城市参观不能超过两次,两个城市之间有道路通过需要花费X,求通过能所有城市的最小花费. 思路:每个城市有三个状态0,1,2,可用三进制存储所有城市的访问状态 ...

  6. Python基于Flask框架配置依赖包信息的项目迁移部署小技巧

    一般在本机上完成基于Flask框架的代码编写后,如果有接口或者数据操作方面需求需要把代码部署到指定服务器上. 一般情况下,使用Flask框架开发者大多数都是选择Python虚拟环境来运行项目,不同的虚 ...

  7. MAC地址表配置与绑定

    MAC地址表分类 ---静态MAC地址表项由用户手工配置,表项不老化: ---黑洞MAC地址表项包括源黑洞MAC地址表项和目的黑洞MAC地址表项,用于丢弃含有特定源MAC地址或目的MAC地址的报文(例 ...

  8. eclipse在线安装JBoss Tool过程

    eclipse在线安装JBoss Tool过程 1.打开eclipse,依次点击"help--->Install New Software..." 2.再单击"Ad ...

  9. 检测dll是32/64位 ?

    检测dll是32/64位 ? void CCheck32Or64Dlg::OnButton2() { CString fileName = ""; CFileDialog *fil ...

  10. windows驱动之WDF---CharSample

    驱动程序部分: NTSTATUS DriverEntry( IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath ) /*++ ...