redis入门demo

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版本,百度云盘地址:
第一步:启动本地的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包,百度云盘地址:
目录:

 

连接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里的值

菜鸟教程:http://www.runoob.com/redis/redis-commands.html

猜你喜欢

转载自www.cnblogs.com/daituyong/p/9160382.html