jedis

崛起于Springboot2.X + 单机Redis(14)

拥有回忆 提交于 2019-11-28 11:22:37
《SpringBoot2.X心法总纲》 简介:单机redis+springboot,并不是jedis单机操作redis,jedis是需要另外的集成,下一篇博客会讲到。 1、添加pom依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> 2、添加配置文件 spring.redis.database=0 spring.redis.host=localhost spring.redis.port=6379 spring.redis.password= spring.redis.timeout=10000ms 2.0之后需要加ms参数才可以,不然报错,所以以后找2.0博客,标题说是springboot 2.0,但是内容依然是spring.redis.timeout=10000后面没有加ms的都是1.X版本,博客都不是很严格。 3、连接成功 @RestController public class TestController { @Autowired StringRedisTemplate stringRedisTemplate; @RequestMapping(value = "

Mac上的redis安装与jedis入门

眉间皱痕 提交于 2019-11-28 10:04:10
Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件 安装与配置 (1) https://redis.io/download 下载redis stable最新版 将压缩包解压到你的文件夹下 (2) 进入到redis文件夹的根目录 # 编译测试(跳过也可以)sudo make test# 编译安装sudo make install# 安装完成以后启动redis-server (3) 简单测试 新建一个terminal, 输入 redis-cli # 客户端 存一个简单的kv Jedis使用 Redis命令参考 http://redisdoc.com/list/ltrim.html [推荐, 很全] (1) 连接到jedis服务 下载依赖的jar包 https://mvnrepository.com/artifact/redis.clients/jedis/2.9.0 或者使用Maven更方便 <!-- https://mvnrepository.com/artifact/redis.clients/jedis --> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version> <

redis 面试题 基础知识篇

牧云@^-^@ 提交于 2019-11-28 07:46:11
1.常见数据类型、常见指令、内部数据结构以及用途? 数据类型 常见指令 内部数据结构 用途 String (字符串) set get incr decr del 通过int/sds()作为存储结构,int存放整形数据,sds存放字节、字符串、浮点型数据 常见的get/set操作,存短信验证码,常规计数,微博数,粉丝数 List (列表) lpush rpush lpop rpop lrange redis3.2前,List类型的value对象内部以linkedlist或者ziplist来实现, 当list的元素个数和单个元素的长度比较小 的时候,采用ziplist(压缩列表)来实现来减少内存占用。 redis3.2后,采用的一种叫quicklist的数据结构来存储list,列表的底层都由quicklist实现 排行榜,最热、活跃度最高的数据、简单的消息队列等功能 Hash (散列) hset heget hexist hdel hashtable、ziplist,数据量小的时候用ziplist,多了用hashtable 存储结构化的用户信息,商品信息之类的对象 Set (集合) sadd spop srem smembers sunion intset(只包含整数型用)、hashtable 实现如共同关注、共同粉丝、共同喜好 Sorted-Set (有序集合) zadd

SpringBoot使用Jedis整合Redis(有demo)

老子叫甜甜 提交于 2019-11-28 07:24:27
本篇基于Springboot2.0 + Redis实现数据缓存及分库存储,上一篇主要使用官方推荐的RedisTemplate实现,这篇我主要以Jedis的方式来实现Redis的操作。这里再重复一遍,两种方式都可以实现对Redis的操作,RedisTemplate是对Jedis做了封装,官方推荐使用Redistemplate方式。 本文使用idea工具构建Springboot+SpringMvc+Thymeleaf+SpringDataJPA+MySql+Redis项目 GitHub地址:https://github.com/jwwam/springbootRedis2.git 一、Redis基本配置及工具类 还是来样子先看下项目demo的目录结构,基本的目录结构和上篇没什么差别。文末会给出pom包配置。 1.创建redis.properties配置文件 #redis配置开始 # Redis数据库索引(默认为0) spring.redis.database=0 # Redis服务器地址 spring.redis.host=localhost # Redis服务器连接端口 spring.redis.port=6379 # Redis服务器连接密码(默认为空) spring.redis.password=123456 # 连接池最大连接数(使用负值表示没有限制) spring.redis

Can Jedis get/set an Java POJO?

家住魔仙堡 提交于 2019-11-28 06:56:39
I'm using Jedis as the java client to connect to Redis Servers. Question 1: It seems there is no method to get/set Object < ? extends Serializable> ? All the values must be String or byte[]? Other clients like "JRedis" and Spymemcache(for memcached Server) could. Question 2: If I use ShardedJedis, it cannot set auth/password? While Jedis class can (using auth(String password)). Regard Question 1 : Jedis won't handle POJOs. You should serialize to a string or byte[] and use jedis to do that, although I won't recommend to store your java objects serialized, as you won't be able to use all Redis

哨兵模式java实例

房东的猫 提交于 2019-11-28 06:42:26
1 /** 2 * 测试Redis哨兵模式 3 * @author liu 4 */ 5 public class TestSentinels { 6 @SuppressWarnings("resource") 7 @Test 8 public void testSentinel() { 9 JedisPoolConfig jedisPoolConfig = new JedisPoolConfig(); 10 jedisPoolConfig.setMaxTotal(10); 11 jedisPoolConfig.setMaxIdle(5); 12 jedisPoolConfig.setMinIdle(5); 13 // 哨兵信息 14 Set<String> sentinels = new HashSet<>(Arrays.asList("192.168.11.128:26379", 15 "192.168.11.129:26379","192.168.11.130:26379")); 16 // 创建连接池 17 JedisSentinelPool pool = new JedisSentinelPool("mymaster", sentinels,jedisPoolConfig,"123456"); 18 // 获取客户端 19 Jedis jedis = pool

redis存储对象

孤街醉人 提交于 2019-11-28 06:24:57
redis主要存储类型最常用的五种数据类型: String Hash List Set Sorted set redis存储对象序列化和反序列化 首先来了解一下为什么要实现序列化 为什么要实现序列化接口 当一个类实现了Serializable接口(该接口仅为标记接口,不包含任何方法定义),表示该类可以序列化.序列化的目的是将一个实现了Serializable接口的对象转换成一个字节序列,可以。 把该字节序列保存起来(例如:保存在一个文件里),以后可以随时将该字节序列恢复为原来的对象。甚至可以将该字节序列放到其他计算机上或者通过网络传输到其他计算机上恢复,只要该计 算机平台存在相应的类就可以正常恢复为原来的对象。 实现:要序列化一个对象,先要创建某些OutputStream对象,然后将其封装在一个ObjectOutputStream对象内,再调用writeObject()方法即可序列化一个对象;反序列化也类似。 注意:使用对象流写入到文件是不仅要保证该对象是序列化的,而且该对象的成员对象也必须是序列化的 关于Serializable接口的类中的serialVersionUID: serialVersionUID是long类型的。在Eclipse中有两种生成方式: 默认的是1L: private static final long serialVersionUID = 1L;

Spring Data Redis

一笑奈何 提交于 2019-11-28 05:58:17
前言 Spring Data Redis 提供了 Spring Data 平台对 Redis 的抽象,并对 spring 3.1 cache 进行了实现。 Spring Data Redis 对 Redis 底层开发包(Jedis, JRedis, and RJC)进行了高度封装, RedisTemplate 提供了 redis 各种操作、异常处理及序列化。 Spring Data Redis 提供了四种 Redis服务 的 Java客户端包 的集成,分别是 Jedis , JRedis , SRP and Lettuce 概述 spring-data-redis针对jedis提供了如下功能: 1. 连接池自动管理,提供了一个高度封装的“RedisTemplate”类 2. 针对jedis客户端中大量api进行了归类封装,将同一类型操作封装为operation接口 ValueOperations:简单K-V操作 //工厂方法:opsForValue() 获取 SetOperations:set类型数据操作 ZSetOperations:zset类型数据操作 HashOperations:针对map类型的数据操作 ListOperations:针对list类型的数据操作 3. 提供了对key的“bound”(绑定)便捷化操作API,可以通过bound封装指定的key,

Jedis源码分析:JedisClusterConnectionHandler

徘徊边缘 提交于 2019-11-27 21:37:23
/*--> */ /*--> */ JedisClusterConnectionHandler    JedisClusterConnectionHandler提供了JedisCluster接口获取资源池中Jedis连接对象的一个门面类,JedisClusterConnectionHandler提供了初始化集群,获取资源池中连接对象,刷新资源池等各种方法。JedisClusterConnectionHandler必须依赖于JedisClusterInfoCache类,因为 JedisClusterConnectionHandler本身的方法都是基于JedisClusterInfoCache类实现的, 下列所讲解的方法的底层实现会在JedisClusterInfoCache进行讲述 。    JedisClusterConnectionHandler实例化时必须提供以下的参数(见代码1-1),这些参数本身对于JedisClusterConnectionHandler没什么用处,完全就是在该类的构造器中走了一遭,因为JedisClusterConnectionHandler内部维护着JedisClusterInfoCache实例。JedisClusterConnectionHandler将这些参数传递给cache实例后,通过initializeSlotsCache()方法获取集群信息

redis异常解决 :idea启动本地redis出现 jedis.exceptions.JedisDataException: NOAUTH Authentication required

非 Y 不嫁゛ 提交于 2019-11-27 20:54:08
第一次安装在本地redis服务,试试跑项目,结果却出现nested exception is redis.clients.jedis.exceptions.JedisDataException: NOAUTH Authentication required错误,真是让人头疼 先检查一下配置文件 这里是没有问题的,然后跑起来还是会出现同样的错误(检查发现自己在安装Redis的时候设置了redis的启用密码,找到redis的安装目录找到redis.windows-service.conf和redis.windows.conf两个配置文件,找到requirepass属性将其注释掉,如果在安装redis时没有设置密码可跳过此步),找到本地安装Tomcat的conf目录下面的context.xml文件添加以下配置 来源: https://my.oschina.net/Tarry/blog/3094402