redis是什么?
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。 Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
为什么使用redis?
● 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
● 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
● 原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
● 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。
redis使用步骤
准备工作,在本机上安装redis服务器。这里使用Redis-x64-3.2.100 .msi版本,百度云盘地址:
链接:https://pan.baidu.com/s/1BoppoI2VCX-A5jSWyKeWlQ 密码:qqn2
第一步:启动本地的Redis服务;
第二步:连接本地的Redis服务,并且设置值,以便于在java代码中获取。实际上也可以在java代码中设置值,然后获取,为了直观地感受到,这里直接在命令
提示符下设置Redis的值,然后通过设置的key在java中获取设置的value值。
第三步:在java代码中获取Redis中设置的值。
1、启动redis服务
cmd打开命令行,输入如图启动redis:
2、连接本地的Redis服务
3、在java中使用redis
在java用使用redis依赖于jedis-2.9.0.jar包,百度云盘地址:
链接:https://pan.baidu.com/s/1s9eYmFR93DHflJTEk6HjDA 密码:0qqa
目录:
连接redis:RedisJava.java
1 package cn.redisdemo; 2 3 import redis.clients.jedis.Jedis; 4 5 public class RedisJava { 6 /** 7 * 连接redis服务器 8 */ 9 public void connection(){ 10 // 连接本地的 Redis 服务 11 Jedis jedis = new Jedis("localhost"); 12 System.out.println("连接本地的 Redis 服务成功!"); 13 // 查看服务是否运行 14 System.out.println("服务 正在运行: " + jedis.ping()); 15 } 16 }测试类:
效果:
redis存取字符串:
连接redis:RedisJava.java(单例)
1 package cn.redisdemo; 2 3 import redis.clients.jedis.Jedis; 4 5 public class RedisJava { 6 private static Jedis jedis = new Jedis("localhost"); 7 private RedisJava(){}; 8 /** 9 * 连接redis服务器 10 */ 11 public static Jedis getConnection(){ 12 return jedis; 13 } 14 }测试类:
1 package test; 2 3 import org.junit.Test; 4 5 import redis.clients.jedis.Jedis; 6 import cn.redisdemo.RedisJava; 7 8 public class RedisJavaTest { 9 @Test 10 public void test() { 11 Jedis jedis = RedisJava.getConnection(); 12 //set值 13 jedis.set("str1", "test1"); 14 //get值 15 String str1 = jedis.get("str1"); 16 //打印测试 17 System.out.println("str1的值:" + str1); 18 } 19 }效果:
redis存取List集合
1 @Test 2 public void testList(){ 3 Jedis jedis = RedisJava.getConnection(); 4 // 存储数据到列表中 5 jedis.lpush("kecheng", "java"); 6 jedis.lpush("kecheng", "php"); 7 jedis.lpush("kecheng", "Mysql"); 8 9 // 获取存储的数据并输出//0代表开始下标,-1代表所有,其他大于零数代表结束下标 10 List<String> list = jedis.lrange("kecheng", 0, -1); 11 for (int i = 0; i < list.size(); i++) { 12 System.out.println("redis list里面存储的值是:" + list.get(i)); 13 } 14 }效果:
补充:
//List<String> list = jedis.lrange("kecheng", 0, jedis.llen("kecheng")); //jedis.llen获取长度
//jedis.del("kecheng");//移除该List里的值
原文地址:https://www.cnblogs.com/daituyong/p/9160382.html