1、什么是Redis

Redis是一款内存高速缓存数据库。Redis全称为:Remote     Dictionary    Server (远程数据服务),使用C语言编写,Redis是一个key-value存储系统(键值存储系统),支持丰富的数据类型,如:String、list、set、zset、hash。

Redis是一种支持key-value等多种数据结构的存储系统。可用于缓存,事件发布或订阅,高速队列等场景。使用C语言编写,支持网络,提供字符串,哈希,列表,队列,集合结构直接存取,基于内存,可持久化。

2、Redis特点

Redis以内存作为数据存储介质,读写数据的效率极高。

Redis跟memcache不同的是,储存在Redis中的数据是持久化的,断电或重启,数据也不会丢失。

Redis的存储分为内存存储、磁盘存储和log文件。

Redis可以从磁盘重新将数据加载到内存中,也可以通过配置文件对其进行配置,因此,redis才能实现持久化。

Redis支持主从模式,可以配置集群,更利于支撑大型的项目。

3、Redis应用场景,能做什么

众多语言都支持Redis,因为Redis交换数据快,在服务器中常用来存储一些需要频繁调取的数据,节省内存开销,也极大的提升了速度。

将一些热点数据存储到Redis中,要用的时候,直接从内存取,极大的提高了速度和节约了服务器的开销。

1、会话缓存(最常用)

2、消息队列(支付)

3、活动排行榜或计数

4、发布,订阅消息(消息通知)

5、商品列表,评论列表

4、Redis数据类型

Redis一共支持五种数据类型:String(字符串)、hash(哈希)、list(列表)、set(集合)和zset(sorted  set有序集合)

String(字符串):Redis最基本的数据类型,一个键对应一个值,一个键值最大存储512MB

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

List(列表):是redis的简单的字符串列表,按插入顺序排序

Set(集合):是String字符串类型的无序集合,也不可重复

ZSet(sorted  set  有序集合)是String类型的有序集合,也不可重复。有序集合中的每个元素都需要指定一个分数,根据分数对元素进行升序排序。

5、redis的服务相关命令

slect#选择数据库(数据库编号0-15)

退出 # 退出连接

信息 # 获得服务的信息与统计

monitor #  实时监控

config  get  #  获得服务配置

flushdb #  删除当前选择的数据库中的key

flushall # 删除所有数据库中的键

6、Redis的发布与订阅

Redis的发布与订阅(发布、订阅)是它的一种消息通信模式,一方发送信息,一方接收信息

下图是有新消息发送给频道1时,就会将消息发送给订阅它的三个客户端

7、Redis的持久化

Redis持久有两种方式:快照(RDB),仅附加文件(AOF)

快照(RDB):1、将存储在内存的数据以快照的方式写入二进制文件中,默认dump.rdb中

2、保存900 1               # 900秒内如果超过1个key被修改,则启动快照保存

3、保存300 10            # 300秒内如果超过10个key被修改,则启动快照保存

4、保存60 1000         # 60秒内如果超过10000个重点被修改,则启动快照保存

仅附加文件(AOF):1、使用AOF持久时,服务会将每个收到的写命令通过写函数追加到文件中(appendonly.aof)

2、AOF持久化存储方式参数说明

appendonly  yes    #开启AOF持久化存储方式

appendfsync   always   #收到写命令后就立即写入磁盘,效率最差,效果最好

appendfsync   everysec     #每秒写入磁盘一次   效率与效果居中

appendfsync   no               #完全依赖操作系统,效率最佳,效果没法保证

8、Redis自带相关测试工具

redis-benchmark   --help

redis-benchmark     -n   10000  -q

什么是redis,redis能做什么,redis的应用场景【转】相关推荐

  1. php redis都可以做什么,redis除了缓存还能做什么

    Redis应该说是目前最受欢迎的NoSQL数据库之一了.Redis通常被作为缓存组件,用作缓存数据.不过,除了可以缓存数据,其实Redis可以做的事还有很多. 下面列举几例,供大家参考.推荐:< ...

  2. 搭建redis给mysql做缓存

    安装redis的前提是lnmp或者lamp的环境已经搭建完成. 安装redis 1.安装redis(或可以选择yum安装) 1 2 3 4 5 6 7 8 9 10 11 12 [root@redis ...

  3. redis cluster 设置密码做集群时gem下client.rb文件修改

    redis cluster 设置密码做集群时gem下client.rb文件修改 来源 https://www.cnblogs.com/shihaiming/p/5949772.html redis节点 ...

  4. 使用Redis Stream来做消息队列和在Asp.Net Core中的实现

    Redis - Wikipedia 写在前面 我一直以来使用redis的时候,很多低烈度需求(并发要求不是很高)需要用到消息队列的时候,在项目本身已经使用了Redis的情况下都想直接用Redis来做消 ...

  5. redis概念、做什么及其应用场景

    1.什么是Redis Redis是由意大利人Salvatore Sanfilippo(网名:antirez)开发的一款内存高速缓存数据库.Redis全称为:Remote Dictionary Serv ...

  6. 放弃redis使用mongodb做任务队列支持增删改管理

    使用mongodb做任务队列管理支持增删改 ,我是喜欢用redis的list做队列的,但是这边经常堆积任务,需要查看并删除清空队列,有可能会根据一些content的字段来进行删除,有可能是会针对发件人 ...

  7. redis和php有什么,redis主要用来做什么

    1.Redis 是什么? 通常而言目前的数据库分类有几种,包括 SQL/NSQL,,关系数据库,键值数据库等等 等,分类的标准也不以,Redis本质上也是一种键值数据库的,但它在保持键值数据库简单快捷 ...

  8. redis夺命连环问10--说说Redis是怎么做旁路缓存的?

    目录 相关前置知识文章 说说Redis是怎么做旁路缓存的? 先谈缓存大概怎么做 再谈旁路缓存两种模式 redis和mysql如何保证数据一致性? 那怎么解决缓存和数据库的数据不一致问题? 如何保证缓存 ...

  9. 常见面试题------Redis为什么可以做缓存?

    Redis为什么可以做缓存? 1.Redis将其数据库完全保存在内存中,仅使用磁盘进行持久化.与其它键值数据存储相比,Redis有一组相对丰富的数据类型.Redis可以将数据复制到任意数量的从机中. ...

  10. redis+结巴分词做倒排索引

    起源 之前爬取过一百万的歌曲,包括歌手名,歌词等,最近了解到倒排索引,像es,solr这种太大,配置要求太高,对于一百万的数据量有些小题大做,所以想到了redis做一个倒排索引. 我的配置 这里说一下 ...

最新文章

  1. BZOJ 2818 Gcd 线性欧拉筛(Eratosthenes银幕)
  2. Android架构详解
  3. Node.js调用C#代码
  4. 程序时序图 Sequence Diagram(序列图) UML图(数据流程图)的绘制
  5. Python练习-基于socket的FTPServer
  6. html 多行多列列表格,HTML跨多行跨多列表格.doc
  7. boost::type_erasure::incrementable相关的测试程序
  8. springboot---成员初始化顺序
  9. Vue.js基础体验(一)
  10. Photoshop Blendmodi in GLSL
  11. Ubuntu下如何将普通用户提升到root权限
  12. [SDOI2013]直径
  13. Another Distinct Values
  14. 以观察者设计模式举例的房产信息系统
  15. python与plc进行串口通信,寄存器写数据 欧姆龙plc
  16. node.js 使用数据校验 joi 报错:Cannot mix different versions of joi schemas
  17. 用友U8数据备份实例工作经验
  18. 理解SparkSteaming窗口函数操作window()
  19. 支付--支付宝手机网站支付(WAP)
  20. 【架构】生成全局唯一ID的3个思路,来自一个资深架构师的总结

热门文章

  1. 京华科讯桌面云平台解决方案
  2. 如何用pydoc查询函数或模块
  3. 软考高项:信息网络安全知识模拟题
  4. 使用Lame库实现wav、pcm转mp3
  5. 驱动程序9--实模式,保护模式,虚拟8086模式
  6. multiset用法
  7. C语言实现字符串匹配并返回匹配字符串
  8. C语言|考试系统代码
  9. 开源“瘦身”,惠普WebOS团队裁员275人
  10. 【计算机网络课程设计】内网穿透、搭建FTP服务器(局域网和广域网)以及对于花生壳发送X11包得一些推测