redis分页

简介:实现用户信息的分页查询

实现思想

    list链表键存储用户ID,用于分页查询,同时用于查询用户总数,key为personid。

    hset用户保存用户详细信息,格式为下:

        key--> person:userid

        value-->id userid name 张三 age 33



public String get(String key);

public String set(String key,String value);
public String hget(String hkey,String key);
public long hset(String hkey,String key,String value);
long incr(String key); //自增
long expire(String key,int second);  //过期
long ttl(String key); 

//redis 分页
public void rpush(String id);
public void hmset(String id,Map<String, String> map);
public Map<String, String> getUserInfo(String id);  //获取用户详细信息 

public void getUserList();//获取用户列表


-----------------------------------

@Autowired
private JedisPool jedisPool;


@Override
public String get(String key) {


Jedis jedis = jedisPool.getResource();
String string = jedis.get(key);
jedis.close();
return string;
}


@Override
public String set(String key, String value) {
Jedis jedis = jedisPool.getResource();
String string = jedis.set(key, value);
jedis.close();
return string;
}


@Override
public String hget(String hkey, String key) {
Jedis jedis = jedisPool.getResource();
String string = jedis.hget(hkey, key);
jedis.close();
return string;
}


@Override
public long hset(String hkey, String key, String value) {
Jedis jedis = jedisPool.getResource();
long string = jedis.hset(hkey, key, value);
jedis.close();
return string;
}


@Override
public long incr(String key) {
Jedis jedis = jedisPool.getResource();
long result = jedis.incr(key);
jedis.close();
return result;
}


@Override
public long expire(String key, int second) {
Jedis jedis = jedisPool.getResource();
long result = jedis.expire(key, second);
jedis.close();
return result;
}


@Override
public long ttl(String key) {
Jedis jedis = jedisPool.getResource();
long result = jedis.ttl(key);
jedis.close();
return result;
}


/////////////////////////////////////////////// redis分页


@Override
public void rpush(String id) {
Jedis jedis = jedisPool.getResource();
jedis.rpush("personid", id); // 保存用户id
jedis.close();


}


@Override
public void hmset(String id, Map<String, String> map) {
// TODO Auto-generated method stub
Jedis jedis = jedisPool.getResource();
jedis.hmset("person:" + id, map); // 保存用户信息
jedis.close();
}


@Override
public Map<String, String> getUserInfo(String id) {
Map<String, String> map = new HashMap<String, String>();
Jedis jedis = jedisPool.getResource();
map = jedis.hgetAll("person:" + id);
jedis.close();


return map;
}


@Override
public void getUserList() {
Jedis jedis = jedisPool.getResource();
Long count = jedis.llen("personid"); // 用户总数


List<String> idList = jedis.lrange("personid", 5, 10);
for (String id : idList) {
System.out.println(jedis.hgetAll("person:" + id));
}
jedis.close();


}


--------------------------------------


String id = new Random().nextInt(10000) + "";  
   Map<String, String> map = new HashMap<String, String>();  
   map.put("id", id);  
   map.put("age", new Random().nextInt(70) + "");  
   map.put("name", "张三"+new Random().nextInt(10000) + "");  
   jedisService.rpush(id); // 保存用户id  
   jedisService.hmset(id,map);   // 保存用户信息
   jedisService.getUserList();
   mav.setViewName("main/index");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值