jedis

REDIS基础学习笔记

霸气de小男生 提交于 2020-11-30 06:52:09
一. 背景说明 学习每一种新技术之前,我都会尽量提醒自己从这三个方面依次递进的去学:是什么,能干嘛?为什么用它?怎么用? Redis是什么?一项基于分布式缓存的nosql数据库技术。能干嘛?做分布式缓存呗。 为什么用它?一般来说,每一项新技术的出现,都有其历史背景及使命(要解决的问题),技术来源于问题。为什么已经有了传统的关系型数据库,还要非关系型数据库干啥?毋庸置疑,肯定是原有的老技术有其无法避免的缺点及弊端,即使很有可能总体来说它已经很优秀了。传统的关系型数据库,如Oracle、Mysql、SQLServer、DB2,基本上都是把数据主要存放位置放在磁盘上,在一些大数据量,高并发的情况下,磁盘的读写速度已经无法满足需求了,我们迫切需要一个基于更快的物理硬件如内存的数据库。于是Redis就应运而生了。 怎么用?后面自然会说,在这之前先按正常节奏一步步的了解并同时学习用法。 二. 用法 2.1 安装和启动 首先需要注意下的是,据说Redis在Windows Server中的性能表现要比Linux中差很多。所以,条件允许的话,尽可能的选择Linux平台。如果选择了Linux平台的话,需要另外注意的一个事情是:Redis是用C语言编写的,而我们下载的Redis一般源码安装程序,所以在这之前你需要确保系统里有合适的编译器。gcc或gcc-c++都行,我的系统(CentOS7

阿里P8架构师秘诀:看完这份“Redis面试宝典”,还担心面试被out?完全不存在

别说谁变了你拦得住时间么 提交于 2020-11-27 12:24:52
在大数据时代,频繁地在应用和数据库之间进行读写操作在性能、速度、体验上已经远远不能满足用户、客户、开发人员的要求了,于是一种基于内存操作的数据库便应运而生。Redis 是一种基于内存的数据库,如何轻松理解并熟练操作 Redis 是一个有责任心、进取心程序员应该了解和掌握的技术。Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行各种刁难。 在将面试问的Redis高级题目进行详细的梳理,并结合了解析在这免费分享给大家! Redis高级面试专题 一、Redis基础概念相关问题 1.什么是 Redis? 2.Redis 的特点有哪些? 3. Memcache 与 Redis的区别都有哪些? 4.Redis 相比 Memcached有哪些优势? 5.如何实现本地缓存﹖请描述一下你知道的方式 6.Redis通讯协议是什么?有什么特点? 二、Redis 数据结构及指令相关问题 1. Redis支持的数据类型 2.Redis 常用的命令有哪些? 3.一个字符串类型的值能存储最大容量是多少? 4.Redis各个数据类型最大存储量分别是多少? 5.请介绍一下Redis的数据类型 SortedSet ( zset )以及底层实现机制? 6.Redis 事务相关命令有哪些? 7.什么是 Redis 事务﹖原理是什么? 8.Redis

记redis一次Could not get a resource from the pool 异常的解决过程

三世轮回 提交于 2020-11-24 00:00:03
最近有个项目中的redis每天都会报 "Could not get a resource from the pool"的错误,而这套代码在另一地方部署又没有问题。一直找不到错误原因。按字面意思是连接池中资源不够。 1. 有可能是并发太高而连接池太小,尝试修改连接池上限来解决问题,修改方法如下: <!-- redis连接池的配置 --> < bean id ="jedisPoolConfig" class ="redis.clients.jedis.JedisPoolConfig" > < property name ="maxTotal" value ="${spring.redis.maxTotal}" /> < property name ="maxIdle" value ="${spring.redis.maxIdle}" /> < property name ="minIdle" value ="${spring.redis.minIdle}" /> < property name ="testOnBorrow" value ="${spring.redis.testOnBorrow}" /> < property name ="testOnReturn" value ="${spring.redis.testOnReturn}" /> </ bean > 修改

案例说明flink的udf

旧城冷巷雨未停 提交于 2020-11-21 05:50:45
本文会主要讲三种udf: 用户自定义函数是非常重要的一个特征,因为他极大地扩展了查询的表达能力。本文除了介绍这三种udf之外,最后会介绍一个redis作为交互数据源的udf案例。 注册用户自定义函数 在大多数场景下,用户自定义函数在使用之前是必须要注册的。对于Scala的Table API,udf是不需要注册的。 调用TableEnvironment的registerFunction()方法来实现注册。Udf注册成功之后,会被插入TableEnvironment的function catalog,这样table API和sql就能解析他了。 Scalar Functions 标量函数 标量函数,是指返回一个值的函数。标量函数是实现将0,1,或者多个标量值转化为一个新值。 实现一个标量函数需要继承ScalarFunction,并且实现一个或者多个evaluation方法。标量函数的行为就是通过evaluation方法来实现的。evaluation方法必须定义为public,命名为eval。evaluation方法的输入参数类型和返回值类型决定着标量函数的输入参数类型和返回值类型。evaluation方法也可以被重载实现多个eval。同时evaluation方法支持变参数,例如:eval(String... strs)。 下面给出一个标量函数的例子。例子实现的是一个hashcode方法

分布式缓存技术redis学习系列

耗尽温柔 提交于 2020-11-19 01:03:34
分布式缓存技术redis学习系列(一)——redis简介以及linux上的安装以及操作redis问题整理 分布式缓存技术redis学习系列(二)——详细讲解redis数据结构(内存模型)以及常用命令 分布式缓存技术redis学习系列(三)——redis高级应用(主从、事务与锁、持久化) 分布式缓存技术redis学习系列(四)——redis高级应用(集群搭建、集群分区原理、集群操作) 分布式缓存技术redis学习系列(五)——spring-data-redis与JedisPool的区别、使用ShardedJedisPool与spring集成的实现及一致性哈希分析 分布式缓存技术redis学习系列(六)——sentinel哨兵机制 分布式缓存技术redis学习系列(七)——spring整合jediscluster 分布式缓存技术redis学习系列(八)——JedisCluster源码解读:集群初始化、slot(槽)的分配、值的存取 分布式缓存技术redis学习系列(九)——Redis主从实现读写分离 Jedis的Publish/Subscribe功能的使用 结合实际项目理解集群和分布式的关系 来源: oschina 链接: https://my.oschina.net/u/4316056/blog/4002586

笔记-JavaWeb学习之旅19

若如初见. 提交于 2020-11-18 08:39:52
Redis:redis是一款高性能的NOSQL系列的非关系型数据库 NOSQL: Not Only SQL ,意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型数据库 redis的数据及结构: redis储存的是:Key,Value格式的数据,其中key都是字符串,value有5种不同的数据结构 value的数据结构: 1.字符串类型 string 存储方式:set key value 获取方式: get key 删除方式: del key 2.哈希类型 hash:相当于map格式 存储方式: hset key field value(hset myhash username lisi),(hset myhash password 123) 获取方式: hget key field(hget myhash username) 删除方式: hdel key field 3.列表类型 list :linkedlist格式,支持重复元素 存储方式:lpush key value:将元素加入列表左边 (rpush加入右边) 获取方式:lrange key start end :范围获取 删除方式:lpop key :删除列表左边元素(rpop删除列表右边优速) 3.集合类型 set :不允许重复元素 存储方式:sadd key value 获取方式:smembers key