redis简单介绍


Redis
VS key-value缓存产品
  • Redis支持数据的持久化,能够将内存中的数据保持在磁盘中,重新启动的时候能够再次载入进行使用。
  • Redis不只支持简单的key-value类型的数据,同一时候还提供list,set,zset,hash等复杂的数据结构的存储,而且提供对他们的原子性操作,这是一个不同于其它数据库的进化路径。Redis的数据类型都是基于基本数据结构的同一时候对程序猿透明。无需进行额外的抽象。

  • Redis支持数据的备份。即master-slave模式的数据备份。
  • Redis执行在内存中可是能够持久化到磁盘,所以在对不同数据集进行快速读写时须要权衡内存。应为数据量不能大于硬件内存。在内存数据库方面的还有一个长处是。 相比在磁盘上同样的复杂的数据结构。在内存中操作起来非常easy,这样Redis能够做非常多内部复杂性非常强的事情。 同一时候,在磁盘格式方面他们是紧凑的以追加的方式产生的,由于他们并不须要进行随机訪问。
Redis
VS Memcached
  • 在性能上,Redis是单线程模型,而Memcached支持多线程,所以在多核server上后者的性能更高一些。可是,Redis的性能已经足够优异,在绝大部分场合下其性能都不会成为瓶颈。
  • 假设须要用到高级的数据类型或持久化等功能,Redis将会是Memcached非常好的替代品。

Redis
优势
  • 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。

  • 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
  • 原子 – Redis的全部操作都是原子性的。同一时候Redis还支持对几个操作全并后的原子性运行。
  • 丰富的特性 – Redis还支持 publish/subscribe, 通知, key过期等等特性。

  • Redis不支持自己定义数据库名字,每一个数据库以编号命名。开发人员必须自己记录哪些数据库存储了哪些数据。

  • Redis也不支持为每一个数据库设置不同的password,所以一个client要么能够訪问所有数据库,要么连一个数据库也没权限訪问。
  • Redis的多个数据库之间不是全然隔离的,如FLUSHALL命令能够清空一个Redis实例中所有数据库中的数据。

锦囊

  • 在同一个Redis实例的不同数据库存储同样应用的数据
  • 不同应用的数据存放到不同的Redis实例中。

Redis能够用作存储,队列,缓存系统
  • Redis作缓存系统

    • Redis能够对每一个键设置生存时间
    • 能够限定数据占用的最大内存空间,在数据达到空间限制后能够依照一定规则自己主动淘汰不须要的键。

      设置方法: 改动配置文件的maxmemory參数,限制Redis最大可用内存大小(单位是字节),当超出了这个限制时Redis会根据maxmemory-policy參数指定的策略来删除不须要的键直到Redis占用的内存小于指定内存.

  • Redis作队列
    • 列表类型键能够用来实现队列,并支持堵塞时读取。能够非常easy地实现一个高性能的优先级队列。
停止Redis的方法
  • 通过向Redis发送SHUTDOWN命令,Redis会先断开全部client连接。然后依据配置运行持久化。最后完毕退出。

    $ redis-cli SHUTDOWN
  • Redis能够处理SIGTERM信号。使用kill redis_pid也能够正常结束Redis,效果与发送SHUTDOWN命令一样。

Redis命令的5种返回值类型:
  1. 状态回复

    OK表示设置成功 PING的PONG也是状态回复

  2. 错误回复

    以(error)开头。如

    redis>err_command
    (error)ERR unknown command 'err_command'
  3. 整数回复

    以(integer)开头,并在后面跟上整数数据

  4. 字符串回复

    以双引號包裹。比如

    redis> GET foo
    "1"
    redis> GET noexists
    (nil)
  5. 多行字符串回复

    当请求一个非字符串类型键的元素列表时,就会收到多行字符串回复。

    多行字符串回复中的每行字符串都以一个序号开头,如:

    redis> KEYS *
    1) "bar"
    2) "foo"

假设发现问题,欢迎轻拍留言交流。谢谢。

Redis简单介绍的更多相关文章

  1. Python redis 简单介绍

    Python redis 简单介绍 1.安装 终端输入: pip(or)pip3.6 install redis 安装成功 2.哈哈,发现我并没有redis服务可以访问,所以到这里,在本机安装了red ...

  2. Redis 简单介绍(知识整理笔记)

    前言: Redis 介绍:轻量级.Key-Value.内存数据库.支持持久化 Redis 数据结构:string(字符串),hash(哈希),list(列表),set(集合)及 zset (sorte ...

  3. Redis简单介绍以及数据类型存储

    因为我们在大型互联网项目其中.用户訪问量比較大,比較多.会产生并发问题,对于此.我们该怎样解决呢.Redis横空出世,首先,我们来简单的认识一下Redis.具体介绍例如以下所看到的: Redis是一个 ...

  4. Redis简单介绍与数据类型

    介绍 分布式缓存 NoSql:解决高并发.高可用.高可扩展,大数据存储等一系列问题而产生的数据库解决方案. Redis:键值(Key-Value)存储数据库 Redis是使用c语言开发的一个高性能键值 ...

  5. Redis简单介绍与安装

    Redis是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能,可扩展的Web应用程序. Redis有三个主要特点,使它优越于其它键值数据存储系统 - 1) Redis将其数据库完全保存在内 ...

  6. Redis实战——简单介绍

    出自:https://www.cnblogs.com/moonlightL/p/7364107.html Redis简单介绍 Redis是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能, ...

  7. redis学习(一) redis的介绍与安装

    redis简单介绍 redis全称remote-dictionary-server 直译为远程字典服务器, 是一个高性能的key-value存储系统,也被称为数据结构服务器,因为其所存储的数据值(va ...

  8. 01-Redis 简单介绍

    Redis 简单介绍 1.Redis 是什么 Redis 是一种基于键值对的 NoSQL 数据库,与很多键值对数据库不同, redis 中的值可以有 string, hash , list , set ...

  9. Redis的简单介绍及在Windows下环境搭建

    简单介绍 1,Redis是什么 最直接的还是看官方的定义吧. Redis is an open source (BSD licensed), in-memory data structure stor ...

随机推荐

  1. Hibernate 延迟载入

    一.延迟载入定义                 延迟载入,也叫懒载入,它是Hibernate为提高程序运行效率而提供的一种机制,即当仅仅有真正使用该对象的数据时才会创建. 说白了,所谓的延迟载入不是 ...

  2. 开发者和系统管理者最喜爱的开源工具Vim 起步学习的五个技巧

    多年来,我一直想学 Vim.如今 Vim 是我最喜欢的 Linux 文本编辑器,也是开发者和系统管理者最喜爱的开源工具.我说的学习,指的是真正意义上的学习.想要精通确实很难,所以我只想要达到熟练的水平 ...

  3. C# 解决无法识别的属性 configProtectionProvider

    在使用.Net自身提供的加密本配置文件后再用System.Configuration.ConfigurationManager.AppSettings["key"]获取值时会出现“ ...

  4. 理解JAVASCRIPT 中hasOwnProperty()和isPrototypeOf的作用

    hasOwnProperty:是用来判断一个对象是否有你给出名称的属性或对象.不过需要注意的是,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员.格式如下: 1. 示例一: ...

  5. Ubuntu下压缩包内文件解压后乱码问题的解决

    用到的工具是The Unarchiver项目提供的lsar/unar工具. The Unarchiver项目主页:http://code.google.com/p/theunarchiver/ 安装( ...

  6. 查找文件工具find

    与locate.whereis命令相比,find具有本质的区别: 首先,find是从指定的位置进行遍历查找(可以理解为对文件和目录进行逐一查找). 其次,find可以查找具有某一类特征的文件(例如查找 ...

  7. unity3d 自带截屏

    Application.CaptureScreenshot("Screenshot.png"); 截屏后的文件所在路径:Application.persistentDataPath

  8. Linux 间网线直连

    核心提示:两台linux 系统用交叉线直连的方法: 1.交叉网线制作 A头:白橙,橙,白绿,蓝,白蓝,绿,白褐,褐 B头:白绿,绿,白橙,蓝,白蓝,橙,白褐,褐 即 B头的1.3脚相对A头互换:2脚与 ...

  9. ACCESS与MSSQL比较:SQL语句关于时间格式使用的注意点

    ACCESS与MSSQL比较:SQL语句关于时间字符串的使用:ACCESS数据库使用 # 来控制时间格式字符串:mssql数据库使用单引号 ' 来控制时间格式字符串.例: ACCESS版本:UPDAT ...

  10. QQ窗体的控制,同步异步打开360网盘,控制360网盘窗体的移动

     1.通过system启动飞秋进程的方式: 2.Windows下杀死进程的方式是:taskkill /f/im QQ.exe.截图例如以下: watermark/2/text/aHR0cDovL2 ...