Redis:一款高性能的 NoSQL 系列的非关系型数据库。

Redis 和我们熟悉的类似的 MySQL 数据库不太一样,或者说主要体现在这里几个方面:

数据存储方式 数据关联关系 数据存储位置
MySQL 存在表中,表格的一行代表一条数据 数据之间有关联关系,比如说“外键” 数据存储在硬盘上
Redis 存储的是一个个 key-value 键值对 数据之前没有关联关系 数据存储在内存中

我们使用 docker 来简单体验下 redis redis-docker

docker run --name some-redis -p 6379:6379 -d redis
# 下面这个命令是官方的例子,我目前不是很熟悉 docker 尝试了几种 network 的值,没跑起来,
# 所以换一种方式,目的是要使用 redis-cli
# docker run -it --network some-network --rm redis redis-cli -h some-redis
docker exec -it some-redis /bin/bash
redis-cli
set username "zhangsan"
get username
# "zhangsan"

即我们进入到 some-redis 这个容器中,使用 redis-cli,体验了下存取 username 这个 key。

数据结构

key 都是字符串,我们主要说 value 的数据结构:

  1. string

    1. set <key> <value>
    2. get <key>
    3. del <key>
  2. hash 类似 map(value 只能是字符串)
    1. hset <key> <field> <value>
    2. hget <key> <field>
    3. hdel <key> <field>
    4. hgetall <key>
  3. list 类似 linkedList (value 只能是字符串)
    1. lpush <key> <value> 将元素加入列表左边
    2. rpush <key> <value> 将元素加入列表右边
    3. lrange <key> <start> <end> 范围获取(0 和 -1 的组合可以达到获取所有元素的效果)
    4. lpop <key> 从列表左边弹出一个元素
  4. set (value 只能是字符串)
    1. sadd <key> <value>
    2. smembers <key> 获取所有元素
    3. srem <key> <value>
  5. sortedSet(value 只能是字符串),由于它支持排序,所以有一个 score 的概念,score 是 double 类型的,通过 score 从小到大实现排序。
    1. zadd <key> <score> <value>
    2. zrange <key> <start> <end> 范围获取(0 和 -1 的组合可以达到获取所有元素的效果)
    3. zrem <key> <value>

通用命令

  1. keys *,列出所有 key,* 是正则表达式
  2. type <key> 输出某个 key 的类型
  3. del <key> 删除某个键值对

持久化

之前有提到 Redis 是把数据放在内存中的,那就意味着,运行 Redis 的电脑重启后,数据会丢失,所以我们需要把数据持久化保存到硬盘的方案。

RDB

默认方式,不需要进行配置,在一定的间隔时间内,检测 key 的变化情况,然后持久化数据。

具体的配置参数是在 Redis 的配置文件中进行配置的。

AOF

日志记录的方式,可以记录每一条命令操作。可以每一次命令操作后,持久化数据。

同样是在配置文件中,有一个 appendonly on 的配置项,改为 yes 即可。以及 appendfsync 配置项。

redis 正则匹配value_Java-19-Redis相关推荐

  1. redis 正则匹配value_Redis 获取匹配所有的key

    最近工作中,遇到一个不太难的问题,但是一般情况下 通常,我们使用redis要求的都是key不能相同,但是这次的问题是 值相等的key  不能存在多个.解决的时候,看到redis可以写正则表达式获取匹配 ...

  2. Redis 敢在线上做Keys正则匹配操作!你可以离职了!

    作者:孤独烟,资深后端工程师,业内知名原创作者 一个新闻 新闻内容如下 php工程师执行redis keys * 导致数据库宕机 某公司技术部发生2起本年度PO级特大事故,造成公司资金损失400万,原 ...

  3. 关于redis模糊匹配的问题

    关于redis模糊匹配的问题 前言: 由于涉及到了模糊匹配,怕存在工作中的误导倾向,在此特定说明,线上代码一定不能使用keys去做模糊匹配,最好是用match,具体原因请自行百度 背景: # 一次设置 ...

  4. Redis模糊匹配并删除Key

    文章目录 1. 登录可以连接Redis的机器,安装Redis 2. 执行以下命令,删除模糊匹配到的Key 3. 案例 1. 登录可以连接Redis的机器,安装Redis 详情请参见redis-cli连 ...

  5. redis灵魂拷问:19图+11题带你面试通关

    又到了金三银四跳槽季,好多同学已经开始行动了.今天我来助力一把,送出这套redis面试题,助力大家通关. 1 redis为什么响应快 1.1数据保存在内存中 redis数据保存在内存中,读写操作只要访 ...

  6. 19. Redis的使用

    1. Redis的基本介绍 1. Redis 是NoSQL数据库,不是传统的关系型数据库 官网:https://redis.io/ 和 http://www.redis.cn/ 2. Redis: R ...

  7. Redis学习 - NoSQL简介、redis安装、redis基础知识、数据类型、持久化、订阅发布、主从复制、哨兵模式、缓存击穿和雪崩

    学习视频地址:https://www.bilibili.com/video/BV1S54y1R7SB 完结撒花,感谢狂神 文章目录 1. NoSQL 1.1 单机Mysql的演进 1.2 当今企业架构 ...

  8. python爬虫(三)——多线程+正则匹配下载图片(wallheaven图片网站)

    多线程+正则匹配下载图片(wallheaven图片网站) 1. wallheaven 壁纸网站 这个网站的图片是提供下载的,在壁纸类别之中质量非常高,包括了很多的高清图片. 详细情况可访问其主页页面: ...

  9. 使用ATS中的regex_remap插件实现正则匹配的url重定向

    要点总结如下: 1.正向和反向代理可以同时并存,并且remap可以兼容这两种模式. 2.在使用regex_map时,是借助remap的配置来设置,而且remap.so和regex_remap.so已经 ...

  10. redis入门(03)redis的配置

    一.配置文件 Redis 的配置文件位于 Redis 安装目录下,文件名为 redis.conf.你可以通过 CONFIG 命令查看或设置配置项. 二.查看修改 1.查看配置 1.1.vi redis ...

最新文章

  1. 【jquery】jquery基础知识
  2. 张清:你hold住微博实名制吗?
  3. Buuoj reverse1
  4. Object+C语法快速入门
  5. android3.2以上切屏禁止onCreate()
  6. 2021 年软件工程现状:Python 或将成为第一大编程语言,中国开源涨势最猛
  7. 西瓜书《贝叶斯》朴素贝叶斯公式推导
  8. 上怎么图片和字环绕_计算机上的0和1是怎么变成我们屏幕上看到的图片、视频和声音的?...
  9. 计算机网络物理层之数据通信的基础知识
  10. max(tm)财务进销存管理系统1.3.3.2mysql网络版_Max(TM)财务进销存管理系统
  11. 永久免费的内网端口映射工具推荐【无公网IP】
  12. javascript常用校验器
  13. ElasticSearch三种分页方式以及各优缺点(一文知道如何抉择)
  14. 免费在线条码二维码识别
  15. 接入翼支付的php,翼支付商户接入规范.doc
  16. 实验吧 天网管理系统writeup
  17. 蓝屏终止代码:WHEA INTERNAL ERROR
  18. 普通本科,开发一周年纪念日—-赠给自己的礼物
  19. 经典IIR数字滤波器设计一般步骤的总结
  20. 使用进程池抓取猫眼数据

热门文章

  1. 8.Kubernetes Service(服务)
  2. IE8兼容placeholder
  3. 爱上MVC系列~过滤器实现对响应流的处理
  4. Linux 常用系统工具与初始化配置
  5. 8.4文件系统的管理与挂载2
  6. 《编写可维护的 JavaScript》读书笔记第7章:事件处理
  7. CF 354E DFS
  8. NspAction与JsonAction区别与用法
  9. linux中如何记录时间
  10. 微信小程序的开篇文章----小程序更新推荐