`

Redis入门很简单之六【Jedis常见操作】

阅读更多

之前介绍了Jedis的基本操作,连接池的支持,以及和Spring的整合。接下来的内容,继续Jedis的最为常见的操作。主要包括常用的列表(list)、集合(set)、有序集合(sorted set)、哈希表(hash)等数据结构,以及其他特性支持。

<一>. 使用list:
 可以使用列表模拟队列(queue)、堆栈(stack),并且支持双向的操作(L或者R)。
 1. 右边入队:

jedis.rpush("userList", "James");

  2. 左边出队:右边出栈(rpop),即为对堆栈的操作。

jedis.lpop("userList");

  3. 返回列表范围:从0开始,到最后一个(-1) [包含] 

List<String> userList = jedis.lrange("userList", 0, -1);

   Redis的TopN操作,即使用list完成:lrange
 4. 删除:使用key

jedis.del("userList");

  5. 设置:位置1处为新值

jedis.lset("userList", 1, "Nick Xu");

  6. 返回长度:

Long size = jedis.llen("userList");

  7. 进行裁剪:包含

jedis.ltrim("userList", 1, 2);

 
 <二>. 使用set:和列表不同,集合中的元素是无序的,因此元素也不能重复。
 1. 添加到set:可一次添加多个

jedis.sadd("fruit", "apple");
jedis.sadd("fruit", "pear", "watermelon");
jedis.sadd("fruit", "apple");

 2. 遍历集合:

Set<String> fruit = jedis.smembers("fruit");

  3. 移除元素:remove

jedis.srem("fruit", "pear");

  4. 返回长度:

Long size = jedis.scard("fruit");

  5. 是否包含:

Boolean isMember = jedis.sismember("fruit", "pear");

  6. 集合的操作:包括集合的交运算(sinter)、差集(sdiff)、并集(sunion)

jedis.sadd("food", "bread", "milk"); 
Set<String> fruitFood = jedis.sunion("fruit", "food");

   
<三>. 使用sorted set:有序集合在集合的基础上,增加了一个用于排序的参数。
 1. 有序集合:根据“第二个参数”进行排序。

jedis.zadd("user", 22, "James");

 2. 再次添加:元素相同时,更新为当前的权重。

jedis.zadd("user", 24, "James");

  3. zset的范围:找到从0到-1的所有元素。

Set<String> user = jedis.zrange("user", 0, -1);

  4. 说明:我们可能还有一个疑虑,集合是怎么做到有序的呢?
   实际上,上述user的数据类型为java.util.LinkedHashSet
   
<四>. 使用hash:
 1. 存放数据:使用HashMap

Map<String, String>  capital = new HashMap<String, String>();
capital.put("shannxi", "xi'an");
...
jedis.hmset("capital", capital);

   2. 获取数据:

List<String> cities = jedis.hmget("capital", "shannxi", "shanghai");

  
<五>. 其他操作:
 1. 对key的操作:
  @ 对key的模糊查询:

Set<String> keys = jedis.keys("*");
Set<String> keys = jedis.keys("user.userid.*");

  @ 删除key:

jedis.del("city");

    @ 是否存在:

Boolean isExists = jedis.exists("user.userid.14101");

  2. 失效时间:
  @ expire:时间为5s

jedis.setex("user.userid.14101", 5, "James");

  @ 存活时间(ttl):time to live

Long seconds = jedis.ttl("user.userid.14101");

  @ 去掉key的expire设置:不再有失效时间

jedis.persist("user.userid.14101");

 3. 自增的整型:
  @ int类型采用string类型的方式存储:

jedis.set("amount", 100 + "");

  @ 递增或递减:incr()/decr()

jedis.incr("amount");

  @ 增加或减少:incrBy()/decrBy()

jedis.incrBy("amount", 20);

 4. 数据清空:
  @ 清空当前db:

jedis.flushDB();

    @ 清空所有db:

jedis.flushAll();

  5. 事务支持:
  @ 获取事务:

Transaction tx = jedis.multi();

    @ 批量操作:tx采用和jedis一致的API接口

for(int i = 0;i < 10;i ++) {
     tx.set("key" + i, "value" + i); 
     System.out.println("--------key" + i);
     Thread.sleep(1000);  
}

  @ 执行事务:针对每一个操作,返回其执行的结果,成功即为Ok

List<Object> results = tx.exec();

 

3
1
分享到:
评论
2 楼 Hello_Nick_Xu 2014-06-09  
qindongliang1922 写道
不错,写的很实用! 


呵呵,自己的学习笔记 ,修改了一下


1 楼 qindongliang1922 2014-06-09  
不错,写的很实用! 

相关推荐

    REDIS 入门指南pdf

    以上是 Redis 入门的基本知识点,深入学习 Redis 还需实践操作和理解其内部机制。通过阅读《REDIS 入门指南》这本书籍,你将能更全面地了解 Redis 的功能和应用场景,为你的程序员进阶之路添砖加瓦。

    redis入门以及jedis应用

    ### Redis入门及Jedis应用详解 #### 一、Redis简介 Redis是一款开源、高性能的键-值存储数据库,它能够实现分布式内存存储并提供可选的持久化功能。这款数据库最初由Salvatore Sanfilippo开发,目前由Redis实验室...

    Redis快速入门ppt(1)

    Redis快速入门 ppt 介绍了 Redis 的基础知识,包括 NoSQL 的概念、Redis 的安装、Redis 的常见命令、Redis 的 Java 客户端等。 认识 NoSQL NoSQL 是一种非关系型数据库,它不同于传统的关系型数据库(RDBMS)。...

    redis入门与实践

    ### Redis入门与实践 #### 一、Redis简介与NoSQL概念 Redis是一种广泛使用的开源内存数据结构存储系统,它可以作为数据库、缓存和消息中间件使用。作为一种NoSQL(Not Only SQL)数据库,Redis提供了键值对存储...

    spring与Redis的入门Demo

    Spring 和 Redis 的集成是现代 Java 应用程序中常见的数据存储解决方案,特别是在处理高并发、低延迟的数据访问需求时。本教程将引导你通过一个入门级的 Demo,了解如何在 Spring 框架中配置并使用 Redis。 首先,...

    redis缓存技术入门

    Jedis是更常见的一种选择,它提供了丰富的API来操作Redis服务器。首先,你需要在项目中引入Jedis的依赖,然后配置Redis服务器的连接参数,如主机名、端口号、密码等。以下是一个简单的Jedis连接示例: ```java ...

    2019年 Redis从入门到高可用 分布式实战教程

    Redis从入门到高可用 分布式实战教程,共140多节课程、 掌握redis主从、哨兵、集群 ,参数调优 目录: 9-9 原生安装-1.准备节点.mp4 9-8 原生安装.mp4 9-7 基本架构.mp4 9-6 虚拟槽哈希分布.mp4 9-5 一致性...

    Redis从入门到精通(六)Redis实战(三)优惠券秒杀 测试项目代码

    在本教程中,我们将深入探讨如何使用Redis进行优惠券秒杀场景的实战,这是一个常见的高并发挑战,尤其在电商行业中。Redis作为一个高性能的键值存储系统,常被用于处理这类实时、高流量的需求。我们将主要关注以下几...

    Redis新手学习使用介绍

    总的来说,Redis新手入门需要掌握的基本内容包括:Redis的安装与启动、基本数据类型和操作命令、Java客户端的使用、数据持久化与高可用性策略,以及性能优化技巧。通过深入学习和实践,你将能够熟练地在实际项目中...

    狂神说redis笔记

    Redis入门部分介绍了Redis五大基本数据类型:String(字符串)、List(列表)、Set(集合)、Hash(哈希)、Zset(有序集合),以及三种特殊数据类型:Geo(地理位置)、HyperLogLog(基数统计)、Bitmap(位图)。...

    redis工具包

    - **书籍**:《Redis in Action》是一本非常受欢迎的Redis入门书籍。 - **社区论坛**:加入Redis社区论坛,与其他Redis开发者交流心得。 通过上述介绍,我们不仅了解了Redis的基本概念、应用场景以及相关的工具包...

    redis安装,命令手册,jar包

    入门实例通常包含如何启动Redis服务器、如何使用命令行客户端`redis-cli`进行基本操作,以及如何在Java应用中使用Jedis连接和操作Redis。这些实例帮助初学者快速理解Redis的基本用法和常见应用场景。 6. **Redis...

    ssm+redis整合的入门案例.rar

    SSM(Spring、SpringMVC、MyBatis)与Redis的整合是现代Java Web开发中的常见实践,这个入门案例提供了一个全面了解这一整合过程的基础平台。在这个案例中,你将学习到如何在SSM框架中集成Redis,实现数据缓存,提高...

    百度网盘Redis视频讲解从入门到精通,超详细

    JedisCluster基本使用.mp4,Redis Cluster常见开发运维问题-目录.mp4,缓存的受益和成本.mp4,缓存的更新策略.mp4

    1.redis课程介绍.mp4

    本系列课程从redis基础到高级,老师手把手教你搭建高可用集群,解决redis集群常见问题,思路清晰,旨在挑战高薪。 课程亮点: 1、入门门槛低,零基础也能听懂; ​ 2、课程体系完整全面,从指令到api操作,...

    Spring Data Redis中文参考文档

    3. **模板和便捷类**:提供`RedisTemplate`和一系列便捷类,如`StringRedisTemplate`等,用于处理常见的数据类型和操作。 4. **事务和脚本支持**:支持Redis的事务机制和Lua脚本功能,增强了数据的一致性和复杂操作...

    Redis开发与运维1

    限8.2.2 内存碎片8.2.3 内存回收策略8.3 ...最后,介绍了Redis集群的构建、操作和常见问题,以及如何进行安全设置和监控。 通过此书,读者将能全面了解Redis的基础知识和实践技巧,为开发和运维工作打下坚实基础。

    Redis命令.docx

    以上提供的示例代码展示了如何通过Jedis客户端操作Redis中的字符串、散列和列表等数据类型。这些示例覆盖了基本的数据操作流程,如连接Redis服务器、执行读写操作以及获取结果等。 ##### 3. 命令参考 除了上述提到...

    redis简单的一些使用

    ### Redis基础使用与知识点详解 #### 一、Redis服务启动与管理 ...以上是对Redis的基础使用以及常见操作命令的总结,希望能够帮助到初学者快速入门Redis,并能够熟练地使用它来进行数据管理和操作。

    狂神Redis笔记.pdf

    其中包括了Javanosql讲解、阿里巴巴架构演进、nosql数据模型、Nosql四大分类(CAP、BASE)、Redis入门五大基本数据类型(String、List、Set、Hash、Zset)、三种特殊数据类型(geohash、hyperloglog、bitmap)、...

Global site tag (gtag.js) - Google Analytics