前言 来啦,老弟?来啦,上一篇就当唠唠嗑,接下来就开始进行实操撸命令,计划是先整体单纯说说Redis的各种用法和应用,最后再结合代码归纳总结. Redis默认有16个数据库(编号为0~15),默认使用第0个,通过命令select任意切换数据库,和MySql切换数据库一个道理:各数据库之间的数据是隔离的,先启动服务端,再启动客户端,然后开干,如下演示: Select命令,用于切换数据库 清除数据,主要是测试时使用,在生产环境是杜绝使用这个命令的,如下演示: Flushdb清除当前库中的数据 Flu…
整理了一些Java方面的架构.面试资料(微服务.集群.分布式.中间件等),有需要的小伙伴可以关注公众号[程序员内点事],无套路自行领取 更多优选 一口气说出 9种 分布式ID生成方式,面试官有点懵了 3万字总结,Mysql优化之精髓 为了不复制粘贴,我被逼着学会了JAVA爬虫 技术部突然宣布:JAVA开发人员全部要会接口自动化测试框架 写在前边 也当过面试官,面试过不少应聘者,因为是我自己招人自己用,所以我不会看应聘者造火箭的技术有多牛比,只看拧螺丝的手艺瓷不瓷实.毕竟以后是一个整体,拖了大家后…
转载自:https://github.com/whvcse/RedisUtil 代码 ProtoStuffSerializerUtil.java import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.List; import com.dyuproject.protostuff.LinkedBuffer; impo…
本文案例收录在 https://github.com/chengxy-nds/Springboot-Notebook 也当过面试官,面试过不少应聘者,因为是我自己招人自己用,所以我不会看应聘者造火箭的技术有多牛比,只看拧螺丝的手艺瓷不瓷实.毕竟以后是一个整体,拖了大家后腿团队都很难受.面试的题目一般也不会太难,就像问Redis,我只是想确认他真正用过就够了.Redis 5种基础数据结构和简单操作要知道,最基本的要求,如果这个时候他会说出每种数据结构大致的应用场景,那么这一定是加分的,起码要比那些…
1.String 增:set key1 value1 改:set key1 new-value.自增 incr key1.按照特定值递增:increby key1 inrevalue 删:del key1 查:get key1 2.List 增:lpush key1 value [一次可输入多个值].rpush key1 value[一次可输入多个值] 改:lset key1 下标位置 新值.ltrim key start stop修剪list 删:rpop key1 右边弹出一个值.lpop…
前言 对于Redis而言,很多小伙伴只关注其关键的五大基础类型:string.hash.list.set.sorted set(有序集合),其实还有三种特殊类型在很多应用场景也比较适合使用,分别是:bitmap.geospatial.hyperloglog:上一篇(跟我一起学Redis之五种基本类型及其应用场景举例(干了6个小时))对五种类型进行分享,接下来结合应用场景来说说三种特殊类型的使用方式: 正文 geospatial(地理空间) 该类型在Redis3.2.0版本中加入,其本质是将经纬度…
一.连接类型简介 在sql中单表查询的几率相对来说比较少,随着数据库的日益复杂,多表关联的情况越来越多,在多表关联的情况下存在多种关联的类型, 1.自关联(join或inner join) 2.左外关联(left join或left outer join) 3.右外关联(right join或right outer join) 4.全关联(full join) 二.各种关联的使用 为了更形象的说明这几种连接类型的使用场景及用法,下面以学生表(student)和学生选课表(course)表来演示,…
前言 只有光头才能变强 好的,今天我们要上[铂金二]了,如果还没有上铂金的,赶紧先去蹭蹭经验再回来(不然不带你上分了): 从零单排学Redis[青铜] 从零单排学Redis[白银] 从零单排学Redis[黄金] 从零单排学Redis[铂金一] 在上篇中抛出了一个问题: 抛个问题:如果从服务器挂了,没关系,我们一般会有多个从服务器,其他的请求可以交由没有挂的从服务器继续处理.如果主服务器挂了,怎么办?因为我们的写请求由主服务器处理,只有一台主服务器,那就无法处理写请求了? Redis提供了哨兵(S…
前言 只有光头才能变强 好的,今天我们要上铂金段位了,如果还没经历过青铜和白银和黄金阶段的,可以先去蹭蹭经验再回来: 从零单排学Redis[青铜] 从零单排学Redis[白银] 从零单排学Redis[黄金] 这篇文章主要讲的是Redis主从复制.因为Redis集群的知识点有点多,所以铂金上分得要好几篇~ 文本力求简单讲清每个知识点,希望大家看完能有所收获 一.主从架构 1.1为什么要主从架构 Redis也跟关系型数据(MySQL)一样,如果有过多请求还是撑不住的. 因为Redis如果只有一台服务…
前言 只有光头才能变强 好的,今天我们要上黄金段位了,如果还没经历过青铜和白银阶段的,可以先去蹭蹭经验再回来: 从零单排学Redis[青铜] 从零单排学Redis[白银] 看过相关Redis基础的同学可以知道Redis是单线程的,很多面试题也很可能会问到"为什么Redis是单线程的还那么快". 这篇文章来讲讲单线程的内部的原理. 文本力求简单讲清每个知识点,希望大家看完能有所收获 一.基础铺垫 在讲解Redis之前,我们先来一些基础的铺垫,有更好的阅读体验. 1.1网路编程 我们在初学…
前言 只有光头才能变强 今天继续来学习Redis,上一篇从零单排学Redis[青铜]已经将Redis常用的数据结构过了一遍了.如果还没看的同学可以先去看一遍再回来~ 这篇主要讲的内容有: Redis服务器的数据库 Redis对过期键的处理 Redis持久化策略(RDB和AOF) 本文力求简单讲清每个知识点,希望大家看完能有所收获 一.Redis服务器中的数据库 我们应该都用过MySQL,MySQL我们可以在里边创建好几个库: 同样地,Redis服务器中也有数据库这么一个概念.如果不指定具体的数量…
前言 只有光头才能变强 最近在学Redis,我相信只要是接触过Java开发的都会听过Redis这么一个技术.面试也是非常高频的一个知识点,之前一直都是处于了解阶段.秋招过后这段时间是没有什么压力的,所以打算系统学学Redis,这也算是我从零学习Redis的笔记吧. 本文力求讲清每个知识点,希望大家看完能有所收获. 一.介绍一下Redis 首先,肯定是去官网看看官方是怎么介绍Redis的啦.https://redis.io/topics/introduction 如果像我一样,英语可能不太好的,可…
学Redis这篇就够了!   作者:王爷科技 https://www.toutiao.com/i6713520017595433485 Redis 简介 & 优势 Redis 数据类型 发布订阅 订阅者的客户端显示如下 事务 持久化 复制 哨兵 分片 Redis 简介 Redis 是完全开源免费的,遵守 BSD 协议,是一个高性能的 key - value 数据库 Redis 与 其他 key - value 缓存产品有以下三个特点: Redis 支持数据持久化,可以将内存中的数据保存在磁盘中,…
前言 关系数据库中的事务,小伙伴们应该是不陌生了,不管是在开发还是在面试过程中,总有两个问题逃不掉: 说说事务的特性: 事务隔离级别是怎么一回事? 事务处理不好,数据就可能不准确,最终就会导致业务出问题:借此机会简单回顾一下事务特性及其隔离级别,就当是复习了: 事务特性(ACID) 原子性(Atomicity) 指事务内所有操作要么一起执行成功,要么都一起失败(或者说是回滚):如事务经典转账案例:A给B转账,A把钱扣了,但B没有收到:可见这种错误是不能接受的,最终会回滚,这也是原子性的重要性.…
Redis五种结构 1.String 可以是字符串,整数或者浮点数,对整个字符串或者字符串中的一部分执行操作,对整个整数或者浮点执行自增(increment)或者自减(decrement)操作. 字符串命令: ①get.获取存储在指定键中的值 ②set.设置存储在指定键中的值 ③del.删除存储在指定键中的值(这个命令可以用于所有的类型) 2.list 一个链表,链表上的每个节点都包含了一个字符串,虫链表的两端推入或者弹出元素,根据偏移量对链表进行修剪(trim),读取单个或者多个元素,根据值查…
爬虫和转载请注明原文地址;博客园蜗牛:http://www.cnblogs.com/tdws/p/5754706.html Redis所需内存 超过可用内存怎么办 Redis修改数据多线程并发—Redis并发锁 windows下redis基础操作与主从复制 从而 数据备份和读写分离 Redis两种持久化方式(RDB&AOF) Redis的持久化过程中并不需要我们开发人员过多的参与,我们要做的是什么呢?除了深入了解RDB和AOF的作用原理,剩下的就是根据实际情况来制定合适的策略了,再复杂一点,也就…
redis五种数据类型的使用 redis五种数据类型的使用 (摘自:http://tech.it168.com/a2011/0818/1234/000001234478_all.shtml ) 1.String 常用命令: set,get,decr,incr,mget 等. 应用场景: String是最常用的一种数据类型,普通的key/value存储都可以归为此类,这里就不所做解释了. 实现方式: String在redis内部存储默认就是一个字符串,被redisObject所引用,当遇到incr…
Redis支持持久化只是它的一件武器,另外,它针对不同的需求也提供了多达5种数据存储方式,以最大效率上的实现你的需求,下面分别说一下: 一  string(字符串) string是最简单的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value,其上支持的操作与Memcached的操作类似.但它的功能更丰富. 二  list(双向链表) list是一个链表结构,主要功能是push.pop.获取一个范围的所有值等等.之所以说它是双向的,因为它可以在链表左,右两边分别操作…
redis 五种数据结构详解(string,list,set,zset,hash) Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储. String--字符串Hash--字典List--列表Set--集合Sorted Set--有序集合 下面我们就来简单说明一下它们各自的使用场景: 一.Redis String类型 string类型的数据存储是最简单的key-value存储: 1.string字符串读写实现方式: public…
第一个阶段:redis基本知识了解: 1. redis的百度百科解释: Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言的API.从2010年3月15日起,Redis的开发工作由VMware主持.从2013年5月开始,Redis的开发由Pivotal赞助. 注意:持久化的概念: 持久化是将程序数据在持久状态和瞬时状态间转换的机制.通俗的讲,就是瞬时数据(比如内存中的数据,是不能永久保存的)持久化为持久数据(比如持久化…
跟我一起学extjs5(16--各种Grid列的自己定义渲染)         Grid各列已经可以展示出来了.列的类型包含字符型,整型,浮点型,货币型,百分比型,日期型和布尔型,我自己定义了各种类型的渲染样式:         1.整型:标题栏居中,数值靠右显示,正数颜色为蓝色,负数颜色为红色,0不显示.         2.浮点型:标题栏居中,数值靠右显示,正数颜色为蓝色,负数颜色为红色,显示二位小数,0不显示.         3.货币型:同浮点型,可是能够选择不同的单位,如元,千元,万元…
redis五种数据类型的使用 redis五种数据类型的使用 (摘自:http://tech.it168.com/a2011/0818/1234/000001234478_all.shtml ) 1.String 常用命令: set,get,decr,incr,mget 等. 应用场景: String是最常用的一种数据类型,普通的key/value存储都可以归为此类,这里就不所做解释了. 实现方式: String在redis内部存储默认就是一个字符串,被redisObject所引用,当遇到incr…
redis是键值对的数据库,有5中主要数据类型: 字符串类型(string),散列类型(hash),列表类型(list),集合类型(set),有序集合类型(zset) 几个基本的命令: KEYS * 获得当前数据库的所有键 EXISTS key [key ...]  判断键是否存在,返回个数,如果key有一样的也是叠加数 DEL key [key ...]       删除键,返回删除的个数 TYPE key                  获取减值的数据类型(string,hash,list…
string 1.String 常用命令: 除了get.set.incr.decr mget等操作外,Redis还提供了下面一些操作: 获取字符串长度 往字符串append内容 设置和获取字符串的某一段内容 设置及获取字符串的某一位(bit) 批量设置一系列字符串的内容 应用场景: String是最常用的一种数据类型,普通的key/value存储都可以归为此类,value其实不仅是String, 也可以是数字:比如想知道什么时候封锁一个IP地址(访问超过几次).INCRBY命令让这些变得很容易,…
2.Redis五种数据结构2.1 预备2.1.1 全局命令2.1.2 数据结构和内部编码2.1.3 单线程架构2.2 字符串2.2.1 命令2.2.2 内部编码2.2.3 典型使用场景2.3 哈希2.3.1 命令2.3.2 内部编码2.3.3 使用场景2.4 列表2.4.1 命令2.4.2 内部编码2.4.3 使用场景2.5 集合2.5.1 命令2.5.2 内部编码2.5.3 使用场景2.6 有序集合2.6.1 命令2.6.2 内部编码2.6.3 使用场景2.7 键管理2.7.1 单个键管理2.…
常用数据类型简介: redis常用五种数据类型:string,hash,list,set,zset(sorted set). 1.String类型 String是最简单的类型,一个key对应一个value String类型的数据最大1G. String类型的值可以被视作integer,从而可以让“INCR”命令族操作(incrby.decr.decrby),这种情况下,该integer的值限制在64位有符号数. 在list.set和zset中包含的独立的元素类型都是Redis String类型.…
1.redis命令客户端 [root@localhost bin]# ./redis-cli 127.0.0.1:6379> #是否运行着 127.0.0.1:6379> ping PONG Redis五种数据类型:String.Hash.List.Set.SortedSet Redis中所有的数据都是字符串.命令不区分大小写,key是区分大小写的.Redis是单线程的.Redis中不适合保存内容大的数据. String:key-value(做缓存) set key值 value值 127.0…
redis 五种数据结构详解(string,list,set,zset,hash) https://www.cnblogs.com/sdgf/p/6244937.html redis 与 spring整合 hash 增删改操作 list增删改操作 https://www.cnblogs.com/zhao-blog/p/6105227.html redis队列及多线程应用 https://www.cnblogs.com/jhoney/p/4492324.html…
redis两种持久化的方式 RDB持久化可以在指定的时间间隔内生成数据集的时间点快照 AOF持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集,AOF文件中全部以redis协议的格式来保存,新命令会被追加到文件的末尾,redis还可以在后台对AOF文件进行重写,文件的体积不会超出保存数据集状态所需要的实际大小, redis还可以同时使用AOF持久化和RDB持久化,在这种情况下,当redis重启时,它会有限使用AOF文件来还原数据集,因为AOF文件保存的数据集…
redis 五种数据结构详解(string,list,set,zset,hash) Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储. String——字符串Hash——字典List——列表Set——集合Sorted Set——有序集合 下面我们就来简单说明一下它们各自的使用场景: 一.Redis String类型 string类型的数据存储是最简单的key-value存储: 1.string字符串读写实现方式: public…