Redis初识

特点关键字:

  1. 高性能Key-Value服务器

    • ops能达到十万级别
    • 每秒能执行约11万集合
    • 每秒约81000-条记录
  2. 主要数据结构
    • 列表
    • 集合
    • 有序集合
    • 散列(别名哈希 Redis的哈希是键值对的集合。 Redis的哈希值是字符串字段和字符串值之间的映射,因此它们被用来表示对象)
    • 字符串
  3. 丰富的功能
    • 慢查询
    • 发布订阅
    • GEO(地理位置)
    • 位图
    • 持久化
  4. 高可用分布式支持
    • 集群
    • 主从复制
    • 哨兵机制
    • Redis Cluster(v3.0以上)
    • Redis-Sentinel(v2.8以上)

Redis经典应用场景

  1. 缓存系统
  2. 计数器
  3. 消息队列系统
  4. 排行榜
  5. 购物车
  6. 并发网络
  7. 实时系统(布隆过滤器)
  8. 社交聊天(粉丝 关注 点赞)

Redis安装

  1. Linux安装 https://segmentfault.com/a/1190000016012597
  2. Windows安装 https://www.runoob.com/redis/redis-install.html
  3. macOS安装 如Linux安装

Redis文件说明

  1. redis-server Redis服务器
  2. redis-cli Redis命令行客户端
  3. redis-benchmark Redis性能测试工具
  4. redis-check-aof AOF文件修复工具 用于修复损坏的文件
  5. redis-check-dump RDB文件修复工具
  6. redis-sentinel 高可用解决方案

Redis 启动

  1. 最简启动Redis

    直接运行redis-server命令方式

  2. 动态参数启动Redis
    比如: redis-server --port 6666

  3. redis-server configPath(使用配置文件启动)

注:生产环境推荐配置启动 单机用多实例配置文件 可以用端口区分开 实现多端口集群

Redis客户端返回值类型说明

  1. 状态回复:pong
  2. 错误回复:WRONGTYPE Operation against
  3. 整数回复:1
  4. 字符串回复:“world”
  5. 多行字符串回复:
    “world”
    “bat”

Redis常用配置

  1. daemonize 是否是守护进程启动
  2. port 端口号指定
  3. logfile 系统日志文件
  4. dir 工作目录

注:为什么Redis默认端口是6379 因为在老式按键机上9键的6379对应MERZ而MERZ取之于意大利女歌手Alessia MErz的名字

Redis 常用命令

  1. keys * 遍历所有的key (*就是通配符)时间复杂度为O(n)
    可以 keys *he 查询所有以he后缀的key
    注:一般生产环境key比较多 keys打印的也会多,也会很慢,所以不推荐在生产环境使用
  2. dbsize 计算key的总数 时间复杂度为O(1)
  3. exists key (key 为输入的key值) 检查key是否存在 时间复杂度为O(1)
  4. del key (key为指定的key-value) 删除指定的key-value 成功删除返回1 否则0 时间复杂度为O(1)
  5. expire key seconds (key在seconds秒后过期) 时间复杂度为O(1)
  6. ttl key 查看key剩余的过期时间 返回值为-2 代表key已经不存在了 -1代表key存在 并且没有过期时间 时间复杂度为O(1)
  7. persist key 去掉key的过期时间 时间复杂度为O(1)
  8. type key (返回key的类型) 时间复杂度为O(1)

再识redis-2的更多相关文章

  1. 尚硅谷redis学习5-初识redis.conf

    redis.conf是redis的配置文件,在解压后的redis安装文件夹下 单位 1  配置大小单位,开头定义了一些基本的度量单位,只支持bytes,不支持bit    2  对大小写不敏感 包含 ...

  2. 再谈Redis应用场景(转)

    原文:在谈Redis应用场景 一.MySql+Memcached架构的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样 ...

  3. 别再用 Redis List 实现消息队列了,Stream 专为队列而生

    上回说到使用 Redis 的 List 实现消息队列有很多局限性,比如: 没有良好的 ACK 机制: 没有 ConsumerGroup 消费组概念: 消息堆积. List 是线性结构,想要查询指定数据 ...

  4. 领导:谁再用redis过期监听实现关闭订单,立马滚蛋!

    日前拜读阿牛老师的大作 领导:谁再用定时任务实现关闭订单,立马滚蛋! 发现其方案有若干瑕疵,特此抛砖引玉讨论一二. 在电商.支付等领域,往往会有这样的场景,用户下单后放弃支付了,那这笔订单会在指定的时 ...

  5. JS魔法堂:再识Number type

    Brief 本来只打算理解JS中0.1 + 0.2 == 0.30000000000000004的原因,但发现自己对计算机的数字表示和运算十分陌生,于是只好恶补一下.以下是恶补后的成果: 基础野:细说 ...

  6. JS魔法堂:再识IE的内存泄露

    一.前言 IE6~8除了不遵守W3C标准和各种诡异外,我想最让人诟病的应该是内存泄露的问题了.这阵子趁项目技术调研的机会好好的再认识一回,以下内容若有纰漏请大家指正,谢谢! 目录一大坨! 二.内存泄漏 ...

  7. C#再识委托

    从C#1到C#3逐步认识委托,由于C#4与C#5对委托改动并不大,故不作说明. 好久没看.NET了,一直在搞HybridAPP,都忘得差不多了,这也是自己从书中摘下笔迹,供日后翻阅. C# 1 1.什 ...

  8. Play再识 - 不放弃的执着

    从写Play初识时,前面各种称赞play如何如何解放java web开发,最后因为网络被墙而无法正常编译,从而想到放弃.从来都有成为web开发高手的想法,今天又再一次进行尝试,惊喜的是有新的进展. 首 ...

  9. [转]再识Cortex-M3之堆栈

    原地址https://blog.csdn.net/liaoxu02/article/details/48107651 Cortex-M3拥有通用寄存器R0-R15以及一些特殊功能寄存器.R0-R12是 ...

  10. HDU2157 How many ways矩阵再识

    春天到了, HDU校园里开满了花, 姹紫嫣红, 非常美丽. 葱头是个爱花的人, 看着校花校草竞相开放, 漫步校园, 心情也变得舒畅. 为了多看看这迷人的校园, 葱头决定, 每次上课都走不同的路线去教室 ...

随机推荐

  1. linux命令与公私钥

    昨日内容回顾 etc目录 配置相关 /etc/profile 环境变量文件 /etc/motd 开机欢迎界面 usr目录 程序相关 四种安装软件的方式 1.yum安装 自动解决依赖性问题 2.rap安 ...

  2. 初始rust

    安装rust 访问rust 按照步骤操作即可,安装很慢,请耐心等待 安装成功之后,请注意在命令行测试 rustc --version,cargo --version看看输出版本信息是否正常,如果不正常 ...

  3. Vue.js 前端项目在常见 Web 服务器上的部署配置

    Web 服务器是一种用于存储,处理和传输Web内容的软件.它是一种特殊类型的服务器,具有处理 HTTP 请求并向浏览器返回 Web 页面和其他内容的能力.Web服务器支持多种编程语言,如 PHP,Ja ...

  4. Nginx04 反向代理和负载均衡

    1 反向代理介绍 https://www.cnblogs.com/jthr/p/16827214.html 2 负载均衡介绍 https://www.cnblogs.com/jthr/p/168273 ...

  5. JAVA虚拟机04---对象的创建

    主要是针对HotSpot虚拟机来说的 1.对象的创建过程-new 对象() 1.1检查类是否被加载 检查创建的这个对象的类是否能在常量池中找到类的符号引用,并检查这个类是否被加载.解析和初始化.如果没 ...

  6. Seata分布式事务

    使用Seata版本:1.6.1(2023/2/6最新版)该版本存在很多坑,相较于1.0版本,配置上存在很多差别,如果你的版本不同,请不要参考本文. 1.6.1配置存在许多问题,比较难找,如果你使用1. ...

  7. LM算法详解

    1. 高斯牛顿法 残差函数f(x)为非线性函数,对其一阶泰勒近似有: 这里的J是残差函数f的雅可比矩阵,带入损失函数的: 令其一阶导等于0,得: 这就是论文里常看到的normal equation. ...

  8. JZOJ 2020.07.30【NOIP提高组】模拟

    总结 本场比赛很不负责对待 暴力都没怎么打 一个半小时后才开始打题 很悲剧的只有 \(23+11+36=70\) 分 \(T1\) 4300. 装饰大楼 题目 略 思路 很无聊的找规律题 考场弃疗 \ ...

  9. JZOJ 3889

    \(\text{Problem}\) 小H是个善于思考的学生,她正在思考一个有关序列的问题. 她的面前浮现出了一个长度为 \(n\) 的序列 \({ai}\),她想找出两个非空的集合 \(S.T\). ...

  10. addeventlistener可以这样表示

    事件绑定方法1: //找到id为category的div,绑定onmouseover事件 $("#category")[0].addEventListener("mous ...