个人知乎 ##基础五-redis
来源:互联网 发布:nginx tomcat 配置ssl 编辑:程序博客网 时间:2024/05/01 14:04
个人知乎
基础五-redis
功能
pv:立即增加浏览数点赞排行榜验证码缓存异步队列判题队列地理位置功能
基础知识
key-value数据库,缓存数据库内容安装配置文件<denpendencies>RDB:记录结果AOF:记录执行过程
基本使用
//连接6379端口,9号数据库Jedis jedis = new Jedis("redis://localhost:6379/9");jedis.flushDB();//map,key-value//加入jedis.set("hello","world");//取出jedis.get("hello");//对key改名jedis.rename("hello","newhello");//设置超时时间15s,验证码功能jedis.setex("hello2",15,"world");//做数值运算jedis.set("pv",100);jedis.incr("pv");jedis.incrby("pv",5);jedis.decrby("pv",2);
list
//-------------------list适用于最新列表,关注列表//顺序结构,key-value(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
//----------map:不定属性,对象//key-value(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
//--------------Set:无序概念,点踩点赞,抽奖,已读,抽奖//set,key-value(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);
优先队列
//-----------排行榜//优先队列key-value(<score-element>)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);//统计double在区间内个数jedis.zcount(rankKey,61,100);//给出Lucy的值jedis.zscore(rankKey,"Lucy");//跟新值,不存在的key以0为默认值jedis.zincrby(rankKey,2,"Lucy");//按从低到高排序,取0到100位jedis.zrange(rankKey,0,100);//按从高到地排序,取1到3jedis.zrevrange(rankKey,1,3);//遍历for(Tuple tuple:jedis.zrangeByScoreWithScores( rankKey,61,100)){ tuple.getElement(); tuple.getScore(); }jedis.zrank(rankKey,"Lucy");jedis.zrevrank(rankKey,"Lucy");//score一样时,按照element字典序排序jedis.zranklex(rankKey,"ben")
redis数据库连接池
JedisPool pool=new JedisPool();for(int i=0;i<100;++i){ Jedis j=pool.getResource(); //默认8个连接,不close就会耗尽 j.close();}
对象序列化
JSONObject.toJSONString(user);jedis.set("user1",JSONObject.toJSONString(user));String value =jedis.get("user1");User user2=JSON.parseObject(value,User.class);
阅读全文
0 0
- 个人知乎 ##基础五-redis
- 个人知乎 ##基础三-数据库基础
- 个人知乎 ##基础一-项目介绍
- 个人知乎 ##基础二-WEB知识
- 个人知乎 ##基础四-多线程
- 个人知乎 ##基础七-排序显示
- 个人知乎 ##功能五-赞踩功能对评论
- 个人知乎 ##基础八—python基础
- 个人知乎 ##基础九——爬虫入门PySpider
- 个人知乎 ##基础六/功能六-异步队列实现赞踩站内信
- 个人知乎 ##功能一-登录注册
- 个人知乎 ##功能二-问题发布
- 个人知乎 ##功能三-评论中心
- 个人知乎 ##功能四-站内信
- 个人知乎 ##功能七-邮件发送
- 个人知乎 ##功能八-关注服务
- 前端基础个人总结五
- 个人知乎 ##功能九-timeline/新鲜事推送
- Linux-C标准输入输出
- 671. Second Minimum Node In a Binary Tree
- 个人知乎 ##功能四-站内信
- 2017/11/24(网络)
- 领域驱动视频(六)
- 个人知乎 ##基础五-redis
- 微信小程序:flex布局
- 9.2.2嵌套矩形问题(最长路及其字典序)
- 个人知乎 ##功能五-赞踩功能对评论
- HDOJ2116 Has the sum exceeded
- 函数重载与函数指针
- 求一个整数的百位数,十位数,个位数
- 云存储平台——Seafile搭建
- Centos7下docker安装log.io日志监控