一.简介 作为一款key-value 的NoSQL数据库,Redis支持的数据结构比较丰富,有:String(字符串) .List(列表) .Set(集合) .Hash(哈希) .Zset(有序集合),相对于其他四种数据结构,Zset 是Redis独有的数据结构,作为有序的集合来使用还是十分方便的,下面我来介绍这集中数据结构: 数据类型 描述 set 无序.不重复的字符串集合 list 字符串链表 string 字符串.整型.浮点型 hash key和value都是无序的hashtable zs…
Redis学习01介绍与搭建环境一简介二yum配置已经配置了的可以跳过三安装gcc四安装redis1 上传Redis到linux中2 解压到usrlocal下3 编译redis4 安装redis5 拷贝配置文件到redis目录下6 修改配置文件五启动redis1 bin下主要命令说明2 前端启动3 后端启动六测试Redis学习01——介绍与搭建环境一.简介Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有…
本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 <详细讲解redis数据结构(内存模型)以及常用命令> <redis高级应用(主从.事务与锁.持久化)> 本文我们继续学习redis的高级特性——集群.本文主要内容包括集群搭建.集群分区原理和集群操作的学习. Redis集群简介 Redis 集群是3.0之后才引入的,在3.0之前,使用哨兵(sentinel)机制(本文将不做介绍,大家可另行查阅)来监控各个节点之间的状态.Redi…
首先我们配置一台master服务器,两台slave服务器.master服务器配置就是默认配置 端口为6379,添加就一个密码CeshiPassword,然后启动master服务器. 两台slave服务器配置如下:     1.先找到配置redis.windows-service.config文件修改port 6379 为port 6380     2.然后配置master服务器地址:slaveof 127.0.0.1 6379,然后主服务有密码还需要配置密码 masterauth CeshiPa…
Redis 底层数据结构 版本:2.9 支持的数据类型: 字符串 散列 列表 集合 有序集合 字符串 Redis 利用原生的 c 字符串进行了一次封装.封装的字符串叫做简单动态字符串:SDS(simple dynamic string) Redis 使用的简单动态字符串比 c 语言原生的字符串有以下优点: 获取字符串长度的复杂度为O(1) 不存在缓存区溢出 修改字符串长度时,不需要频繁分配内存 空间预分配策略 惰性空间策略 二进制安全 二进制安全的意思是,可以将二进制数据使用 SDS 存储,而不…
出处:https://www.jianshu.com/p/f09480c05e42 Redis是典型的Key-Value类型数据库,Key为字符类型,Value的类型常用的为五种类型:String.Hash .List . Set . Ordered Set下面我们详细介绍一下. 一.Redis的内部内存管理原理   1.Redis 内部使用一个 redisObject 对象来表示所有的 key 和 value.  2.type :代表一个 value 对象具体是何种数据类型. 3.encodi…
一.介绍 Redis列表(List)是简单的字符串列表,按照插入顺序排序.你可以添加一个元素到列表的头部(left)或者尾部(right),一个列表最多可以包含232-1个元素(4294967295,每个列表超过40亿个元素). 基本命令: blpop key [key2 ...] timeout(移除并获取列表的第一个元素,如果列表没有元素会阻塞列表知道等待超时或者发现可弹出元素为止) brpop key [key2 ...] timeout(移除并获取列表最后一个元素,同上) brpoplp…
4.集合(集合(set)类型也是用来保存多个的字符串元素,但和列表类型不一样的是,集合中不允许有重复元素,并且集合中的元素是无序的,不能通过索引下标获取元素.) 1.命令 .集合内操作 1.添加元素 sadd key element [element ...]返回结果为添加成功的元素个数. 2.删除元素 srem key element [element ...]返回结果为成功删除元素个数. 3.计算元素个数 scard key (scard的时间复杂度为O(1),它不会遍历集合所有元素,而是直…
原文地址:http://bridgeforyou.cn/2018/09/01/Redis-Dsitributed-Lock-1/ 为什么要使用分布式锁 这个问题,可以分为两个问题来回答: 为什么要使用锁? 分布式锁和本地锁的区别是什么? 1.为什么要使用锁?Martin Kleppmann在他的文章How to do distributed locking里,把使用锁的目的,总结为两个. 第一个是正确性,这个众人皆知.就像Java里的synchronize,就是用来保证多线程并发场景下,程序的正…
一.Redis 持久化简介 Redis 的持久化功能是区别于 Memcached 显著特性,数据持久化可以保证系统在发生宕机和重启后数据不会丢失,对于 redis 这种存储在内存中的数据库显得尤为重要. 在 Redis 4.0 以前数据持久化的方式主要有两种 RDB(Redis DataBase)快照方式: 它是将某一时刻的内存数据以二进制的方式写入磁盘,默认保存文件为 dump.rdb AOF(Append Only File)文件追加方式:它是指将所有的操作命令,以文本的形式追加到文件中.默…