你不知道的Redis:入门?数据结构?常用指令?

推荐学习

  • Redis让我凉在美团一面 , 摸爬滚打3个月 , 二战逆袭成功斩获Offer
  • 缓存架构技术:Redis+MongDB , 阿里P7面试必跳的坑
一、Redis入门1.1 redis简介Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库 , 并提供多种语言的API其中value 可以为string、hash、list、set、zset 等多种数据结构 , 可以满足很多应用场景 。 还提供了键过期 , 发布订阅 , 事务 , 流水线 , 等附加功能
流水线
Redis 的流水线功能允许客户端一次将多个命令请求发送给服务器 , 并将被执行的多个命令请求的结果在一个命令回复中全部返回给客户端 , 使用这个功能可以有效地减少客户端在执行多个命令时需要与服务器进行通信的次数 。
数据存放
1 , Redis安装在磁盘;
2 , Redis数据存储在内存
你不知道的Redis:入门?数据结构?常用指令?文章插图
redis简单使用
比如说,数据库有一张表Order订单表, 表主键orderid
你不知道的Redis:入门?数据结构?常用指令?文章插图
1.2 Redis特性
  1. 速度快 , 数据放在内存中 , 官方给出的读写性能10 万/S , 与机器性能也有关
  2. 键值对的数据结构服务器
  3. 丰富的功能:见上功能
  4. 简单稳定:单线程
  5. 持久化:发生断电或机器故障 , 数据可能会丢失 , 持久化到硬盘
  6. 主从复制:实现多个相同数据的redis 副本
  7. 高可用和分布式:哨兵机制实现高可用 , 保证redis 节点故障发现和自动转移
  8. 客户端语言多:java php python c c++ nodejs 等
1.3 redis性能高性能原因
  1. 纯内存访问
  2. 非阻塞I/O(使用多路复用)
  3. 单线程避免线程切
1.3 redis使用场景
  1. 缓存:合理使用缓存加快数据访问速度 , 降低后端数据源压力
  2. 排行榜:按照热度排名 , 按照发布时间排行 , 主要用到列表和有序集合
  3. 计数器应用:视频网站播放数 , 网站浏览数 , 使用redis 计数
  4. 社交网络:赞、踩、粉丝、下拉刷新
  5. 消息队列:发布和订阅
1.4 redis基本操作
你不知道的Redis:入门?数据结构?常用指令?文章插图
二、Redis数据结构介绍2.1 字符串字符串类型:实际上可以是字符串(包括XML JSON) , 还有数字(整形 浮点数) , 二进制(图片 音频 视频) , 最大不能超过512MB
你不知道的Redis:入门?数据结构?常用指令?文章插图
注意:若没有mget命令 , 则要执行n次get命令
你不知道的Redis:入门?数据结构?常用指令?文章插图
你不知道的Redis:入门?数据结构?常用指令?文章插图
2.2 哈希(Hash)2.2.1 hash存储对象redis得hash和JAVA的hash结构是一样的 , 我们可以将一些数据库的热点数据写入redis中 。 例如:
1,用户表数据如下:
你不知道的Redis:入门?数据结构?常用指令?文章插图
2,存储到Redis, 使用字符串如何完成存储操作?
你不知道的Redis:入门?数据结构?常用指令?文章插图


推荐阅读