设为首页 收藏本站
查看: 947|回复: 0

[经验分享] redis渐入佳境(10) java连接到数据库[1]

[复制链接]

尚未签到

发表于 2016-12-21 08:31:49 | 显示全部楼层 |阅读模式
 


  • 之前操作数据库我们是用redis-cli来实现的,实际应用中不可能这么使用。实际应用中我们讲和一种开发语言进行搭配使用,
  • 从reidis的官网可知它支持如下的语言 :C 、C++、java、C#、等主流语言。下面我们就学习一下如何通过java来操作redis数据库。



 
        reids官方推荐java使用jedis来操作redis数据库库,如下图:http://www.redis.io/clients
 
        
DSC0000.png



  • 从官网上下载一下jedis的压缩包,目前已经不提供jar的下载,下载后需要大家自己用maven进行编译生成一个jar,本文提供该jar的下载。
  • 引入jar文件,与引入其他的三方jar的方式无异。下面是代码,里面都有注视:
     




public static void main(String[] args) throws InterruptedException {
  String hostId = "192.168.217.2";// redis数据库的ip地址
  int port = 6379;// redis数据库的监听端口
  Jedis jedis = new Jedis(hostId, port);// 构建一个jedis对象 类似于jdbc中的statement
  jedis.auth("xuelianbo");// 进行登录授权
  jedis.set("name", "bobo");// 简单的set
  String string = jedis.get("name");// 简单的get方法
  System.out.println(string);
  jedis.quit();// 退出数据库
 }



  • 对string的操作常用方法



/**
   * 操作字符串
   */
  String name = jedis.get("name");
  System.out.println(name);
  Long del = jedis.del("name");
  System.out.println(del);
  String string = jedis.get("name");
  System.out.println(string);
  String mset = jedis.mset("k1", "v1", "k2", "v2");
  System.out.println(mset);// 返回OK
  List<String> mget = jedis.mget("k1", "k2");
  for (String string2 : mget) {
   System.out.println(string2);
  }

  • 对hash的操作方法

/***
   * 操作hash
   */
  jedis.hset("h1", "name", "xuelianbo");// 向hash中加入值
  jedis.hset("h1", "age", "11");
  jedis.hset("h1", "sex", "男");
  String hget = jedis.hget("h1", "name");// 获得值
  System.out.println(hget);
  Map<String, String> hgetAll = jedis.hgetAll("h1");// 获得键下的全部属性
  Set<String> keySet = hgetAll.keySet();
  for (String key : keySet) {
   System.out.println(key + ":" + hgetAll.get(key));
  }
  Boolean hexists = jedis.hexists("h1", "name");// 判断是否存在
  System.out.println(hexists);

  • 对list的操作方法

/***
   * 操作list
   */
  // lpush
  jedis.lpush("L1", "小明");// 列表中添加数据
  jedis.lpush("L1", "小强");// 列表中添加数据
  jedis.lpush("L1", "小王");// 列表中添加数据
  jedis.lpush("L1", "小刚");// 列表中添加数据  
List<String> lrange = jedis.lrange("L1", 0, -1);
  for (String one : lrange) {
   System.out.println(one);
  }
  // lset
  jedis.lset("L1", 2, "2");
  // 弹出元素
  System.out.println(jedis.llen("L1"));// 显示大小
  jedis.lpop("L1");
  jedis.lpop("L1");
  jedis.lpop("L1");
  jedis.lpop("L1");
  jedis.lpop("L1");
  jedis.lpop("L1");
  System.out.println(jedis.llen("L1"));

  • 对全局key的操作

/***
   * keys操作,也就是全局的一些操作
   */
  Set<String> keys = jedis.keys("*");// 显示符合pattern的key
  for (String key : keys) {
   System.out.println(key + ":" + jedis.type(key));// type 是查看key的类型
  }
  Boolean exists = jedis.exists("K1");// 是否存在某个key
  System.out.println(exists);

  •  事务的支持写法

static {
  String hostId = "192.168.217.2";
  int port = 6379;
  Jedis jedis = new Jedis(hostId, port);
  jedis.auth("xuelianbo");
  Transaction multi = jedis.multi();// 打开事务
  jedis.set("name", "bobo");
  multi.exec();// 提交事务 不支持回滚
  String string = jedis.get("name");
  System.out.println(string);
  jedis.quit();
 }
  未完待续!!!
         

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-317119-1-1.html 上篇帖子: 利用tomcat-redis-session-manager做session同步时自定义类对象属性保存不上的解决方法 下篇帖子: 生而为程序员,真对不起,Redis的队列简单实现
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表