`
ldd600
  • 浏览: 103809 次
  • 性别: Icon_minigender_1
  • 来自: 上海
博客专栏
47bb354f-8b5f-3ea6-a206-c7ead38c741c
Hyperic插件开发不完...
浏览量:11273
社区版块
存档分类
最新评论

Redis List

阅读更多
List: 它的数据结构和java中的linkedlist是一样的,是一个双向循环链表。在里面预先插入了3840000条记录。服务器配置,pc机,为Redis分配了1g内存 2g vm。
1.插入:62ms,lpush rpush一样。
2.删除:lpop,rpop 63ms。
               删除第一个元素 lrem(key, value, 1) 63ms 删除最后一个元素 780ms。但删除最后一个元素可以使用lrem(key, value, -1)这样也是63ms。使用lrem(key, value, 0)删除所有等于value值的元素780ms,每次都要遍历一遍。不推荐使用。

2.查询:lindex第一个元素,70ms,lindex最后一个元素300ms。反之用-1亦然。
               lrange中间的10000个元素 250ms
3.大小:size一把,63ms。应该有专门存储了list大小。
4.赋值:lset 第一个元素63ms。 lset最后一个元素280ms

我使用时用的是lpush,通常经常用到的会是第一页,会查询,删除的快一些。使用时,建议对List使用限长。可以通过trim实现。

另外在使用list时,可以加个时间撮,比如201012。这样12月份的数据就会存在这个List中。而10月份之前的可以存DB或者清除。

另外Redis提供了set和sortset,但是没有LinkedHashSet。我们可以用Redis自己实现一个。
public boolean add(String name, String id, Object e) {
   boolean notExist = redisTemplate.setnx(name+id, 2);
   if(notExist){
     redisTemplate.lpush(name, id);
   }
   return notExist;
}


public boolean remove(String name, String id) {
   if(redisTemplate.delKey(name+id)) {
	return redisTemplate.lrem(name, e, 1) >0 ;
   }
   return false;
}


1
0
分享到:
评论

相关推荐

    redis存储List集合

    标题中的“redis存储List集合”指的是使用Redis数据库来存储列表数据结构。Redis是一个开源的、高性能的键值存储系统,支持多种数据结构,包括字符串、哈希、列表、集合、有序集合等。在这个示例中,重点是利用Redis...

    Redis List 数据结构的优越感

    Redis List 实现负载均衡 前言 需求 业务需求:从1000条用户登录记录中选择最新登录的前5个用户 PS:(默认使用mysql数据库) select * from user order by loginTime desc limit 5 为了解决查询效率,你可能会设置...

    redis 增删(obj,list)

    在本项目中,我们关注的是Redis如何处理对象(obj)和列表(list)的增删操作,以及如何结合Spring框架进行集成使用。下面我们将深入探讨这两个主题。 首先,让我们了解Redis中的对象存储。在Redis中,对象可以被...

    C# StackExchange.Redis 操作封装类库

    C# StackExchange.Redis 操作封装类库,分别封装了Redis五大数据结构(String,Hash,List,Set,ZSet)的增删改查的操作方法,支持Async异步操作。​支持Redis分库操作。支持信息队列操作。 带有单元测试,为每个...

    Redis List列表的详细介绍

    Redis List 是 Redis 数据结构中的一种,它是一个有序的字符串列表,按照插入的顺序进行排序。List 能够在列表的头部(左侧)或尾部(右侧)添加元素,且其容量极大,最大可包含 2^32 - 1 个元素,这意味着每个列表...

    Redis部署笔记(单机+主从+哨兵+集群)

    基于Centos7系统,由浅入深讲解如何部署Redis的四种模式,分别是:单机模式、主从模式、哨兵模式、集群模式。...● 把Redis的List封装成RedisList类,暴露API模仿Java的List ● 把Redis的单键值对封装成RedisObj类

    redis lits queue 和 ThreadPoolExecutor 结合

    标题"redis list queue 和 ThreadPoolExecutor 结合"指的是如何将Redis的List数据结构作为消息队列与Java的ThreadPoolExecutor结合使用,以实现任务的异步处理和负载均衡。以下是对这一主题的详细探讨: 1. **Redis...

    c#操作Redis的5种基本类型汇总

    * 简介:List类型是Redis中的列表类型,类似于数组。 * 应用场景:存储有序的数据,例如消息列表、评论列表等。 * C#使用操作举例:使用LPush和RPop方法来添加和删除List类型的数据。 四、Set类型 * 简介:Set类型...

    微服务SpringBoot整合Redis基于Redis的Stream消息队列实现异步秒杀下单

    Redis的List数据结构可以模拟消息队列,通过LPUSH/RPOP、RPUSH/LPOP操作进行消息的入队和出队。为了处理无消息时的阻塞问题,可以使用BLPOP和BRPOP命令。List作为消息队列的优点是存储不受JVM内存限制,且支持持久化...

    java操作redis

    3. **消息队列**:通过 Redis 的 List 类型和 LPUSH/RPOP 指令,可以构建简单的消息队列系统。 4. **会话存储**:Redis 作为会话存储,可以轻松实现会话的持久化和跨服务器共享。 5. **实时数据分析**:Redis 支持...

    C# 操作redis缓存数据库 dll文件及一些方法

    本文将详细介绍如何在C#中操作Redis缓存数据库,尤其是针对list和hashset集合的方法,并提供了一个示例项目`Redis.Sample`。 首先,为了在C#中与Redis交互,我们需要一个客户端库。`StackExchange.Redis`是广泛使用...

    redis数据库

    - **任务队列**:Redis List 类型非常适合实现消息队列。 - **应用排行榜**:通过SortedSet可以轻松实现排名功能。 - **网站访问统计**:利用Redis可以轻松统计网站的访问情况。 - **数据过期处理**:Redis支持数据...

    php_redis类型组合使用

    该文档是php_redis类型组合使用例子。主要涉及到redis的hash、set、list等

    spring集成redis

    List<User> users = userService.getAllUsers(); // 获取所有用户 for (User user : users) { redisUtils.set("user:" + user.getId(), user); } } } ``` 通过以上步骤,你已经成功地在Spring项目中集成了...

    redis增删改查操作

    本主题主要围绕“redis增删改查操作”,特别是如何利用Redis的list和hash数据结构来实现数据的有序存储和管理。 首先,`RedisDealUtil.java`和`RedisConnUtil.java`是两个关键的Java类,它们通常包含了连接Redis...

    Java操作Redis,实现String、List、Map的set和get

    本文将深入探讨如何使用Java来操作Redis,包括设置和获取String、List和Map类型的数据,并且会介绍如何进行封装和单元测试。 首先,要与Redis进行交互,我们需要引入Jedis库,这是Java最常用的Redis客户端。在你的...

    Redis client list命令

    client list命令详解

Global site tag (gtag.js) - Google Analytics