Redis 实战 ---- Java 使用 Redis

零.安装与测试

  1. Windows上安装 Redis

    Redis的官网为redis.io,安装Redis到Windows上,可以解压附件的redis.zip到本地的任意路径下(如:e盘)。

    • 启动Redis服务器端

      使用cmd.exe工具进入解压的redis文件夹,输入如下指令即可使用配置文件redis.windows.conf中指定的参数打开Redis服务器端

E:\redis>redis-server.exe redis.windows.conf

[3136] 01 Aug 15:30:18.916 # Creating Server TCP listening socket 127.0.0.1:6379

: bind: No error

2. 使用 Java 测试安装是否成功

maven pom 文件引入依赖:

<!-- jedis -->
<dependency>
    <groupId>redis.clients</groupId>
    <artifactId>jedis</artifactId>
    <version>2.9.0</version>
    <type>jar</type>
    <scope>compile</scope>
</dependency>

测试代码:

package com.wenniuwuren.redis;

import redis.clients.jedis.Jedis;

public class JedisUtil {

    public static void main(String[] args) {
        Jedis jedis = new Jedis("localhost");
        jedis.set("foo", "bar");
        String value = jedis.get("foo");
        System.out.println("value=" + value);
    }
}

测试结果:value=bar

一.Redis Java String(字符串) 实例

向 Redis 服务器插入一条 key/value,打印 value 结果,然后删除

Jedis jedis = new Jedis("localhost");
jedis.set("foo", "bar");
String value = jedis.get("foo");
System.out.println("value=" + value);

jedis.del("foo");
System.out.println("value=" + jedis.get("foo"));

测试结果:

value=bar

value=null

二. Redis Java List(列表) 实例

public static void main(String[] args) {
    Jedis jedis = new Jedis("localhost");
    jedis.set("foo", "bar");
    String value = jedis.get("foo");
    System.out.println("value=" + value);

    jedis.del("foo");
    System.out.println("value=" + jedis.get("foo"));

    // 存储数据到列表
    jedis.lpush("tutorial-list", "Redis");
    jedis.lpush("tutorial-list", "Mongodb");
    jedis.lpush("tutorial-list", "Mysql");
    jedis.rpush("tutorial-list", "Memcached");
    // 输出列表数据
    List<String> list = jedis.lrange("tutorial-list", 0 ,1000);
    for(int i=0; i<list.size(); i++) {
        System.out.println("Stored string in redis:: "+list.get(i));
    }

}

测试结果:

value=bar

value=null

Stored string in redis:: Mysql

Stored string in redis:: Mongodb

Stored string in redis:: Redis

Stored string in redis:: Memcached

三. Redis Java Set(集合) 实例

public static void main(String[] args) {
    Jedis jedis = new Jedis("localhost");

    // 将给定元素添加到集合
    jedis.sadd("setTest", "a");
    jedis.sadd("setTest", "b");
    jedis.sadd("setTest", "a");

    // 检查给定元素是否存在于集合中
    System.out.println("a is exist in setTest ?" + jedis.sismember("setTest", "a"));

    Set set = jedis.smembers("setTest"); // 返回集合包含的所有元素
    Iterator iterator = set.iterator();
    while (iterator.hasNext()) {
        System.out.println(iterator.next());
    }

    // 如果给定的元素存在于集合中,那么移除这个元素
    jedis.srem("setTest", "a");
    Set finalSet = jedis.smembers("setTest");
    Iterator iterator1 = finalSet.iterator();
    System.out.println("删除后集合中元素...");
    while (iterator1.hasNext()) {
        System.out.println(iterator1.next());
    }

}

执行结果:

a is exist in setTest ?true

a

b

删除后集合中元素...

b

四. Redis Java Hash(散列) 实例

public static void main(String[] args) {
    Jedis jedis = new Jedis("localhost");

    // 设置键值对
    jedis.hset("hashTest", "a", "b");
    jedis.hset("hashTest", "b", "c");
    jedis.hset("hashTest", "a", "b");

    // 获取 hash 中的所有键值对
    Map map = jedis.hgetAll("hashTest");
    // 根据 key 获取 value
    System.out.println(map.get("a"));
    System.out.println(map.get("b"));
    System.out.println(map.get("c"));

    System.out.println("删除后...");

    jedis.hdel("hashTest", "a");
    Map map1 = jedis.hgetAll("hashTest");
    System.out.println(map1.get("a"));
    System.out.println(map1.get("b"));
    System.out.println(map1.get("c"));
}

测试结果:

b

c

null

删除后...

null

c

null

五. Redis Java ZSET(有序集合) 实例

public static void main(String[] args) {
    Jedis jedis = new Jedis("localhost");

    // 将一个带有给定分值的成员添加到有序集合里面
    jedis.zadd("zsetTest", 10, "a");
    jedis.zadd("zsetTest", 20, "b");

    // 获取有序集合在给定分值范围内的所有元素
    Set zset = jedis.zrangeByScore("zsetTest", 5, 10);
    Iterator iterator = zset.iterator();
    while (iterator.hasNext()) {
        System.out.println(iterator.next());
    }
    System.out.println("........");
    //     根据分值的排序顺序,获取有序集合在给定位置范围内的所有元素
    Set zset1 = jedis.zrange("zsetTest", 0, -1);
    Iterator iterator1 = zset1.iterator();
    while (iterator1.hasNext()) {
        System.out.println(iterator1.next());
    }

}

执行结果:

a

........

a

b

时间: 2024-11-06 16:37:34

Redis 实战 ---- Java 使用 Redis的相关文章

Redis实战之征服 Redis + Jedis + Spring (三)

一开始以为Spring下操作哈希表,列表,真就是那么土.恍惚间发现“stringRedisTemplate.opsForList()”的强大,抓紧时间恶补下. 通过spring-data-redis完成LINDEX, LLEN, LPOP, LPUSH, LRANGE, LREM, LSET, LTRIM, RPOP, RPUSH命令.其实还有一些命令,当前版本不支持.不过,这些List的操作方法可以实现队列,堆栈的正常操作,足够用了. 相关链接: Redis实战 Redis实战之Redis +

Redis实战之征服 Redis + Jedis + Spring (二)

不得不说,用哈希操作来存对象,有点自讨苦吃! 不过,既然吃了苦,也做个记录,也许以后API升级后,能好用些呢?! 或许,是我的理解不对,没有真正的理解哈希表. 相关链接: Redis实战 Redis实战之Redis + Jedis Redis实战之征服 Redis + Jedis + Spring (一) Redis实战之征服 Redis + Jedis + Spring (二) Redis实战之征服 Redis + Jedis + Spring (三) 一.预期 接上一篇,扩充User属性:

Redis实战之征服 Redis + Jedis + Spring (一)

相关链接: Redis实战 Redis实战之Redis + Jedis Redis实战之征服 Redis + Jedis + Spring (一) Redis实战之征服 Redis + Jedis + Spring (二) Redis实战之征服 Redis + Jedis + Spring (三) 前文有述,Spring提供了对于Redis的专门支持:spring-data-redis.此外,类似的还有: 我想大部分人对spring-data-hadoop.spring-data-mongodb

linux系统下安装redis以及java调用redis

关系型数据库:MySQL  Oracle 非关系型数据库:Redis 去掉主外键等关系数据库的关系性特性 1)安装redis编译的c环境,yum install gcc-c++ 2)将redis-2.6.16.tar.gz上传到Linux系统中 3)解压到/usr/local下  tar -xvf redis-2.6.16.tar.gz  -C /usr/local 4)进入redis-2.6.16目录 使用make命令编译redis 5)在redis-2.6.16目录中 使用make PREF

Redis实战 | 5种Redis数据类型详解

我们知道Redis是目前非常主流的KV数据库,它因高性能的读写能力而著称,其实还有另外一个优势,就是Redis提供了更加丰富的数据类型,这使得Redis有着更加广泛的使用场景.那Redis提供给用户的有哪些数据类型呢?主要有:string(字符串).List(列表).Set(集合).Hash(哈希).Zset(有序集合).HyperLogLogs(计算基数用的一种数据结构).Streams(Redis 5.0提供一种建模日志用的全新数据结构). 需要注意的是这里说的数据类型是指Redis值的数据

redis 实战教程、redis缓存教程、redis消息发布、订阅、redis消息队列教程

一:本教程使用环境: ubuntu12.x .jdk1.7 .Intellij idea.spring3.2.8 .redis服务端3.0,jedis客户端2.7.3 spring-data-redis 1.6.0 二:redis 服务端安装教程 这里不详解 三:redis 缓存特性 示例如下: spring配置: <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">

Redis学习---Java应用Redis Jedis

<一> 阅读目录 1.分装RedisUtil 构建redis连接池 2.使用Junit Test Redis String,List,Set Hash等基本数据类型存储 3.Redis 高级应用,事务以及管道应用

Redis实战之Redis + Jedis[转]

http://blog.csdn.net/it_man/article/details/9730605 2013-08-03 11:01 1786人阅读 评论(0) 收藏 举报 目录(?)[-] 一简单使用Jedis 二池化使用Jedis 三一致性哈希 四Spring封装参考 用Memcached,对于缓存对象大小有要求,单个对象不得大于1MB,且不支持复杂的数据类型,譬如SET 等.基于这些限制,有必要考虑Redis! 相关链接: Redis实战 Redis实战之Redis + Jedis R

4. Redis与Java的使用

本文主要讲解java如何操作redis. 使用java连接redis需要引入相应jedis的jar包. java连接单个redis.redis连接池.redis集群(稍后在讲解) //连接单个redis服务器 Jedis jedis= new Jedis("192.168.0.100", 6379); //连接redis线程池 //redis配置对象 JedisPoolConfig config = new JedisPoolConfig(); //可用redis连接实例的最大数目 c