开始在 Java 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 Java redis 驱动,maven配置如下

redis.clients

jedis

2.9.0

Redis 安装

Window 下安装

下载地址:https://github.com/MSOpenTech/redis/releases。

Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载 Redis-x64-xxx.zip压缩包到 C 盘,解压后,将文件夹重新命名为 redis。

打开一个 cmd 窗口 使用cd命令切换目录到 C:\redis 运行 redis-server.exe redis.windows.conf 。

如果想方便的话,可以把 redis 的路径加到系统的环境变量里,这样就省得再输路径了,后面的那个 redis.windows.conf 可以省略,如果省略,会启用默认的。输入之后,会显示如下界面:

这时候另启一个cmd窗口,原来的不要关闭,不然就无法访问服务端了。

切换到redis目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379 。

设置键值对 set myKey abc

取出键值对 get myKey

编写java代码测试一下

package com.xx.web.test;

import java.util.HashMap;

import java.util.Iterator;

import java.util.List;

import java.util.Map;

import java.util.Set;

import org.junit.Test;

import redis.clients.jedis.Jedis;

public class RedisTest {

private static Jedis jedis;

static {

//连接服务器

jedis = new Jedis("127.0.0.1",6379);

//权限认证

//jedis.auth("");

}

//字符串操作

@Test

public void testString(){

jedis.set("name", "程健");

System.out.println(jedis.get("name"));

//追加操作

jedis.append("name", "是我的名字");

System.out.println(jedis.get("name"));

//删除键

Long result = jedis.del("name2");

System.out.println(result);//返回long型, 1表示成功 0表示失败

//设置多个键值对

jedis.mset("age","23","addr","湖北");

System.out.println(jedis.mget("name","age","addr"));

System.out.println(jedis.get("age"));

}

//哈希操作

@Test

public void testHash(){

Mapmap = new HashMap();

map.put("name", "陈敏");

map.put("age", "20");

//存数据

jedis.hmset("user", map);

//读取数据 返回一个列表类型

Lista = jedis.hmget("user", "name","age");

System.out.println(a);

System.out.println(jedis.hmget("user", "name","age") );

//hkeys key 获取所有哈希表中的字段 返回一个列表[name,age]

System.out.println(jedis.hkeys("user"));

//hvals key 获取哈希表中所有值

System.out.println(jedis.hvals("user"));

//hlen key 获取哈希表中字段的数量

System.out.println(jedis.hlen("user"));

//获取所有的键 迭代操作

Iteratoriter = jedis.hkeys("user").iterator();

while (iter.hasNext()) {

String key = iter.next();

System.out.println(key+"--"+jedis.hmget("user", key));

}

}

//List操作

@Test

public void testList() {

//开始前,先移除所有的内容

jedis.del("Programming language");

//LPUSH key value1 [value2] 将一个或多个值插入到列表头部

jedis.lpush("Programming language", "Java");

jedis.lpush("Programming language", "Python");

jedis.lpush("Programming language", "C++");

//获取数据 返回一个list [Python, Java]

//第一个是key,第二个是起始位置,第三个是结束位置

//其中 0 表示列表的第一个元素, 1 表示列表的第二个元素,以此类推。

//你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2 表示列表的倒数第二个元素,以此类推。

System.out.println( jedis.lrange("Programming language", 0, -1) );

//LPUSHX key value 将一个值插入到已存在的列表头部

jedis.lpushx("Programming language", "php");

System.out.println( jedis.lrange("Programming language", 0, -1) );

//RPUSH key value1 [value2] 在列表中添加一个或多个值

jedis.rpush("Programming language", "C");

System.out.println( jedis.lrange("Programming language", 0, -1) );

//输出情况

// [C++, Python, Java]

// [php, C++, Python, Java]

// [php, C++, Python, Java, C]

}

//Set操作

@Test

public void testSet() {

//向集合添加一个或多个成员

jedis.sadd("webSite", "阿里巴巴","网易");

jedis.sadd("webSite", "腾讯");

//SCARD key 获取集合的成员数

System.out.println( jedis.scard("webSite") );

//SMEMBERS key 返回集合中的所有成员 返回类型列表[阿里巴巴, 腾讯, 网易]注意顺序不唯一

System.out.println( jedis.smembers("webSite") );

//SSCAN key cursor [MATCH pattern] [COUNT count] 迭代集合中的元素

System.out.println(jedis.sscan("webSite", "0") );

}

//sorted set有序Set

@Test

public void testSortSet() {

// Redis 有序集合和集合一样也是string类型元素的集合,且不允许重复的成员。

// 不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

// 有序集合的成员是唯一的,但分数(score)却可以重复。

jedis.zadd("city", 0, "北京");

jedis.zadd("city", 1, "上海");

jedis.zadd("city", 1, "上海2");

jedis.zadd("city", 2, "杭州");

//ZCARD key 获取有序集合的成员数

System.out.println( jedis.zcard("city") );

//ZREVRANK key member 返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序 java中的方法是zrevrangeByScore

//2指的是最大的分数

Seta = jedis.zrevrangeByScore("city", 2, 0);

System.out.println( a );

}

}

java redis缓存使用_java使用redis缓存数据库相关推荐

  1. java redis缓存清除_java基础-redis缓存篇

    Redis的数据类型 Redis总共支持5种数据类型,分别是: 类型 说明,命令 String set ,get Hash HMSET myhash field1 "Hello" ...

  2. java操作redis的操作_Java操作redis简单示例

    第一:安装Redis 首先我们要安装Redis,就像我们操作数据库一样,在操作之前肯定要先创建好数据库的环境. Redis的下载可以百度一下,或者打开下面的下载链接: https://github.c ...

  3. java redis缓存清除_JAVA中redis增删查以及清理缓存

    Controller @ApiOperation(value = "获取信息放入Redis中") @RequestMapping(value = "/getPropert ...

  4. java 缓存一致性_Java多线程——CPU缓存原理和缓存一致性问题

    说起Java中的多线程,就不得不说volatile关键词volatile关键词执行修饰变量和实例变量,不能修饰方法参数,局部变量和实例常量. volatile是Java提供的一种轻量级的同步机制,在并 ...

  5. java map 缓存数据_java使用hashMap缓存保存数据的方法

    本文实例讲述了java使用hashMap缓存保存数据的方法.分享给大家供大家参考,具体如下: private static final HashMap sCache = new HashMap(); ...

  6. java mysql 分布式锁_Java分布式锁之数据库方式实现

    之前的文章<Java分布式锁实现>中列举了分布式锁的3种实现方式,分别是基于数据库实现,基于缓存实现和基于zookeeper实现.三种实现方式各有可取之处,本篇文章就详细讲解一下Java分 ...

  7. java oracle数据备份_Java备份还原Oracle数据库

    Java备份还原Oracle数据库,不知道还有没好点的方法 希望有的也能提供下方法或者代码. Java备份还原Oracle数据库,,不知道还有没好点的方法 希望有的也能提供下方法或者代码. packa ...

  8. java access dbq 参数_Java怎么连接access数据库,要求讲解详细一些

    import java.sql.*; public class ConnectAccess { /** * 初学者请注意: * 1:先建立一个access文件a1.mdb,并放在D:/下; * 2:在 ...

  9. java操作oracle数据_Java jdbc操作oracle数据库的两种方式

    本文由广州疯狂软件java培训分享: 第一种应该是比较古老的方法了. Windows下采用JDBC-ODBC Bridge连接oracle数据库 1. 安装oracle客户端程序,在tnsnames. ...

最新文章

  1. 面试官 | 写if 时不带 else,你的代码会更好!
  2. Pytorch固定随机性
  3. Xilinx ISE 调用 ModelSim SE 库编译
  4. 【待继续研究】除了专家模型,这两大模型也被普遍应用于信用评估
  5. 基于 KubeVela 的 GitOps 交付
  6. BZOJ 4422 Cow Confinement (线段树、DP、扫描线、差分)
  7. Oracle原理:11g的体系结构
  8. 聊一聊ThreadLocal
  9. 科普:Windows下Netcat使用手册
  10. Java Servlet response
  11. 软件框架的理解(转载)
  12. 3.5英寸万转硬盘的末路(万转“偏瘫”记连载二)
  13. java日期互转:LocalDateTime、String、Instant、Date
  14. ]Vi/Vim查找替换使用方法
  15. 专利附图绘制-VISIO线条图绘制入门
  16. 总结tomcat优化方法
  17. pandas训练集测试集划分_用pandas划分数据集实现训练集和测试集
  18. 佐罗一键新机数据导出导入文件夹
  19. VmodCAM图像采集 VGA显示
  20. 转一个校友的文章--“在计算机领域做研究的一些想法”

热门文章

  1. 解决selenium连接driver报错Message: Can not connect to the Service chromedrive
  2. docker删除mongo数据库库_Docker 搭建MongoDB环境
  3. linux配置sftp-server,Ubuntu Server如何配置SFTP(建立用户监狱)
  4. php实现ssh客户端,php无阻塞SSH客户端实例
  5. ehcache springboot_Spring Boot 入门示例合集(附源代码)
  6. 网页Object标签 遮盖DIV标签解决方法
  7. Python类私有方法的陷阱
  8. 页面加载完某个函数不工作 选择器也没错
  9. android.mk简单介绍
  10. 数据中心的容器操作系统--k8s理解