简介:实现用户信息的分页查询
实现思想
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");