个人知乎
基础五-redis
功能
pv:立即增加浏览数
点赞
排行榜
验证码
缓存
异步队列
判题队列
地理位置功能
基础知识
key-value数据库,缓存数据库内容
安装
配置文件<denpendencies>
RDB:记录结果
AOF:记录执行过程
基本使用
Jedis jedis = new Jedis("redis://localhost:6379/9" );
jedis.flushDB();
jedis.set("hello" ,"world" );
jedis.get("hello" );
jedis.rename("hello" ,"newhello" );
jedis.setex("hello2" ,15 ,"world" );
jedis.set("pv" ,100 );
jedis.incr("pv" );
jedis.incrby("pv" ,5 );
jedis.decrby("pv" ,2 );
list
String listName="list" ;
jedis.del(listName);
jedis.lpush(listName,"a1" );
jedis.rpush(listName,"a2" );
jedis.lrange(listName,0 ,12 );
jedis.llen(listName);
jedis.lpop(listName);
jedis.lindex(listName,3 );
jedis.linsert(listName,.before/after,"a1" ,"xx" );
hashmap
String userKey="userxx" ;
jedis.hset(userKey,"name" ,"jim" );
jedis.hset(userKey,"age" ,"12" );
jedis.hget(userKey,"name" );
jedis.hdel(userKey,"age" );
jedis.hgetAll(userKey);
jedis.hexists(userKey,"email" );
jedis.hkeys(userKey);
jedis.hvals(userKey);
jedis.hsetnx(userKey,"name" ,"sdfd0" );
set
String likeKey1="commentLike1" ;
String likeKey2="commentLike2" ;
jedis.sadd(likeKey1,"1" );
jedis.sadd(likeKey1,"11" );
jedis.sadd(likeKey2,"1" );
jedis.sadd(likeKey2,"111" );
jedis.smembers(likeKey1);
jedis.sunion(likeKey1,likeKey2);
jedis.sdiff(likeKey1,likeKey2);
jedis.sinter(likeKey1,likeKey2);
jedis.sismember(likeKey1,"16" );
jedis.srem(likeKey1,"1" );
jedis.smove(likeKey1,likeKey2,"11" );
jedis.scard(likeKey1);
优先队列
String rankKey="rankKey" ;
jedis.zadd(rankKey,15 ,"jim" );
jedis.zadd(rankKey,100 ,"Ben" );
jedis.zadd(rankKey,90 ,"Lee" );
jedis.zadd(rankKey,75 ,"Lucy" );
jedis.zcard(rankKey);
jedis.zcount(rankKey,61 ,100 );
jedis.zscore(rankKey,"Lucy" );
jedis.zincrby(rankKey,2 ,"Lucy" );
jedis.zrange(rankKey,0 ,100 );
jedis.zrevrange(rankKey,1 ,3 );
for (Tuple tuple:jedis.zrangeByScoreWithScores(
rankKey,61 ,100 )){
tuple.getElement();
tuple.getScore();
}
jedis.zrank(rankKey,"Lucy" );
jedis.zrevrank(rankKey,"Lucy" );
jedis.zranklex(rankKey,"ben" )
redis数据库连接池
JedisPool pool=new JedisPool();
for (int i=0 ;i<100 ;++i){
Jedis j=pool.getResource();
j.close();
}
对象序列化
JSONObject.toJSONString(user);
jedis.set("user1" ,JSONObject.toJSONString(user));
String value =jedis.get("user1" );
User user2=JSON.parseObject(value,User.class);