1、什么是 Redis Redis 是完全开源免费的,遵守 BSD 协议,是一个高性能的 key-value 数据库。Redis 与其他 key - value 缓存产品有以下三个特点:Redis 支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用 Redis 不仅仅支持简单的 key-value 类型的数据,同时还提供 list,set,zset,hash 等数据结构的存储 Redis 支持数据的备份,即 master-slave 模式的数据备份Redis 优势性能极高 :Redis 能...
目录1. 复制2. 哨兵 1. 复制 Redis的复制功能分为同步(sync)和命令传播(command propagate)两个操作:同步:将从服务器的数据库状态更新至主服务器当前所处的数据库状态命令传播:在主服务器的数据库状态被修改, 导致主从服务器的数据库状态出现不一致时, 让主从服务器的数据库重新回到一致状态复制过程:从节点执行 slaveof [masterIP] [masterPort],保存主节点信息。从节点中的定时任务发现主节点信息,建立和主节点的 Socket...
官网 Redis 介绍 Redis 是一个开源的、支持网络、可基于内存亦可持久化的日志型、Key-Value 数据库,并提供多种语言的 API。 Redis 是一个 key-value 存储系统。为了保证效率,数据都是缓存在内存中。Redis 会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了 master-slave (主从)同步。 Redis 从第3版本开始支持主从同步和分片(以前的版本需要自己实现,也就是说不是自带的功能)。数据可以...
互联网 Java 工程师面试题MyBatis(27道) ZooKeeper(28道) Dubbo(30道) Elasticsearch(24道) Memcached(23道) Redis(40道) MySQL(50道) Java 并发编程(一)Java 并发编程(二)(123道) Java面试题(一)Java面试题(二)(228道) Spring 面试题(一)Spring 面试题(二)(119道) 微服务(50道) Linux(45道) Spring Boot(22道) Spring Cloud(8道) RabbitMQ(12道) kafka(18道)由于内容太过全面,所有这...
目录什么是Redis?Redis 与其他 key - value 数据库的对比Redis 能干什么Redis的安装配置Redis启动和连接上面开启的是非守护线程下启动(独占模式),下面我们来做成后台运行模式连接Redis服务?:永远的HelloworldRedis启动后的基础知识讲解Redis的五大数据类型Redis 键 key 什么是Redis? * Redis是一种高级key-value数据库。 * Redis:REmote DIctionary Server(远程字典服务?) * Redis 是完全开源免费的,用C语言编写的,遵守BSD协议 *...
转载—— 第一部分 redis的常用指令 一、针对key的操作 1.1 del key [key .. ] , 删除指定的一个或者多个key;1.2 dump key , 序列化给定的key1.3 restore key ttl serialized-value , 反序列化到key1.4 exists key , 判断某一key是否存在1.5 expire key seconds , 设置key的过期时间 ① set命令可以覆盖过期时间;不改变key的操作...
Redis总结 (1)Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value分布式内存数据库,基于内存运行,并支持持久化的nosql数据库,也被称为数据结构服务器。redis支持 异步将内存中的数据写到硬盘上,同时不影响继续服务。功能:发布、订阅消息系统,定时器、计数器。 (2)Redis的三个特点: Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 Redis不仅仅支持简...
1、redis常用命令: 1) 启动服务 redis-server.exe redis.windows.conf 2) 启动客户端: redis-cli.exe -h 127.0.0.1 -p 6379 3) redis 选库和对key的操作命令3.1)--选择第几个数据库:选择第一个数据库select 13.2)--将key从数据1移动到数据库0:select 1move mykey 03.3)--设置键值对:set myKey abc--一次设置多个键值对信息:MSET fruit "apple" drink "beer" food "cookies"3.4)--取出键值对:get myKey --随机获取一个...
string增加,修改:set,mset,append,setex 删除:del 查询:get,mget键命令(所有键都为字符串类型)keys 正则:获取符合正则的键的值 exist:是否存在 type:值类型 del:删除 expire:设置过期时间 ttl:查看有效时间hash增加修改:hset key field val,hmset 获取:hkeys key:获取hash对象的所有属性,hget/hmget key field:获取某个属性值,hvals key:获取某个键所有属性值 删除:hdel key fieldlist增加:lpush,rpus...
项目总结59:Redis分布式锁解决电商订单库存并发问题 在电商分布式项目中,需要考虑提交订单时,因为并发的原因导致库存异常的情况。 其中一个解决方案是:使用redis锁,因为Redis是单线程的,即线程安全的;在提交订单的时候,先通过Redis锁进行库存判断,如果库存校验通过,则正常提交顶顶那,否则返回失败。 具体逻辑如下:1- 用户请求提交订单接口,接口内先通过Redis锁进行库存校验(如果第一次获取锁失败,则会继续请求锁,...
redis支持多种数据类型,string,list,hash,set,zset,这个可能很多人都已经了如指掌了,但是redis中这些基本的数据类型都是由什么数据机构进行实现的呢,这其中的原理又是怎么样的呢?这篇文章主要来针对redis中每种数据类型的具体实现进行详细介绍。 基本的数据结构 首先,需要整体上了解一下redis中用到的一些基本数据结构的含义和概念。 1、字符串SDS:简单动态字符串,redis根据C语言字符串自身进行修改所支持的字符串类型...
本文不定期更新。 一、Redis 简介 Redis 是一个开源的内存结构存储系统。可作于数据库、缓存和消息中间件。 二、常用数据类型String 字符串。 Hash 散列。 List 列表。 Set 集合。 ZSet 有序集合。 Stream 流(用于消息队列)。 pub/sub三、 持久化方案RDB(Redis Database)。每间隔一段时间生成一个快照,快照生成则覆盖,只有一个快照文件。这种是Redis默认的方案。优点是恢复快,缺点是可能损失的数据会大。 AOF(Append Only ...
概述 redis 是一个内存的缓存数据库,用于做缓存的。为各个服务做集中缓存服务。支持多种缓存数据结构。如 string、hash、list、set、sortset,也支持简单的发布订阅、和消息队列、lua 脚本自己支持的缓存服务和事务等一些其它服务。 redis 架构模式 单机到集群单机模式 ? 适合于不重要的缓存数据,可以快速重建,失效对系统影响不大的数据。缺点:单点,数据容易丢失。主从模式 ? 能实用于大多的应用场景。主失败后需要人工介入切...
一、基础概念 Q:什么是 Redis?定义:Redis 是完全开源免费基于内存亦可持久化的,遵守 BSD 协议,是一个高性能的 key-value 数据库。特点:数据的持久化 :可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。 多种数据类型 :不仅仅支持简单的 key-value 类型的数据,同时还提供 list,set,zset,hash 等数据结构的存储。 数据备份 :支持主从模式(master-slave)的数据备份。优势:高性能 :读写速度极快, Re...
在redis中,对于一个存在问题的命令,如果在入队的时候就已经出错,整个事务内的命令将都不会被执行(其后续的命令依然可以入队),如果这个错误命令在入队的时候并没有报错,而是在执行的时候出错了,那么redis默认跳过这个命令执行后续命令。也就是说,redis只实现了部分事务。 总结redis事务的三条性质: 1. 单独的隔离操作:事务中的所有命令会被序列化、按顺序执行,在执行的过程中不会被其他客户端发送来的命令打断2. 没有隔...