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

[经验分享] Java中Redis简单入门

[复制链接]

尚未签到

发表于 2017-12-20 16:13:09 | 显示全部楼层 |阅读模式
  Redis是一个开源的,先进的 key-value 存储可用于构建高性能,可扩展的 Web 应用程序的解决方案。
  Redis官方网网站是:http://www.redis.io/,如下:
DSC0000.jpg


Redis 有三个主要使其有别于其它很多竞争对手的特点:


  • Redis是完全在内存中保存数据的数据库,使用磁盘只是为了持久性目的;

  • Redis相比许多键值数据存储系统有相对丰富的数据类型;

  • Redis可以将数据复制到任意数量的从服务器中;
Redis优点


  •   异常快速 : Redis是非常快的,每秒可以执行大约110000设置操作,81000个/每秒的读取操作。

  •   支持丰富的数据类型 : Redis支持最大多数开发人员已经知道如列表,集合,可排序集合,哈希等数据类型。

    这使得在应用中很容易解决的各种问题,因为我们知道哪些问题处理使用哪种数据类型更好解决。
  •   操作都是原子的 : 所有 Redis 的操作都是原子,从而确保当两个客户同时访问 Redis 服务器得到的是更新后的值(最新值)。


  • MultiUtility工具:Redis是一个多功能实用工具,可以在很多如:缓存,消息传递队列中使用(Redis原生支持发布/订阅),在应用程序中,如:Web应用程序会话,网站页面点击数等任何短暂的数据;
  要在windows中安装redis:


  • 在官网中下载redis压缩包
  • 执行cmd命令找到redis的存放目录,启动服务器端,如图:
DSC0001.jpg

  然后再客户端也可以直接通过cmd命令连接,如图:
DSC0002.jpg

  该图是连接本地redis并且向其中set类似于map集合《“myKey”,“test”》。然后通过get方法获取。
  上面做了redis的介绍以及安装启动服务器以及连接之后,接下来主要讲解一下在Java中如何使用,这也是现在越来越流行的一项技术:


  • 首先在java中使用Redis,需要引入Redis驱动,就是jedis-2.1.0.jar,而这个jar包又依赖于commons-pool-1.6.jar以及tomcat-redis-session-manager-1.2-tomcat-7.jar,所以我们至少需要这个三个jar包。
  • 第二步便是上面说的启动本地redis服务器。
  • 然后在Java中通过驱动连接本地redis,如下:  

    Jedis jedis = new Jedis("localhost");  

      


  • 同时为了测试连接成功可以向上图命令中那样插入keyvlaue值,如: jedis.set("myKey", "成功");然后控制台输出获取值:  

    System.out.println("Redis key value :"+jedis.get("myKey"));  

      


  到这简单redis在Java中就可以使用了,如需了解更多功能,可查看中文apihttp://www.360doc.com/content/15/0328/12/5054188_458684113.shtml
  ps:redis存在的好处就在于无需频繁的访问数据库,当一些数据不会发生变化时可以直接添加到redis中,比如聊天一些历史记录等,类似于缓存,这样大大的提高了性能,笔者建议在使用redis最好结合着数据库一起使用。下面复制一段代码是笔者写的一段结合redis和数据库登陆的小测试功能中的一段代码:
  

int user_id = 2;//用户id  
String user_name;//用户名
  
if(jedis.hexists("user"+user_id, "user_name")){//判断jedis中是否存在"user"+user_id哈希表并且value值为user_name
  
user_name =jedis.hget("user"+user_id, "user_name");//如果存在直接获取然后登陆
  
System.out.println("欢迎来到Redis登陆: "+user_name);
  
}else{//如果不存在,则需要查询数据库判断用户名密码是否正确,如果存在则登陆,并且将其信息保存至redis

  
String sql = "select user_name from user_t where>  
try {
  
ResultSet rs =conn.createStatement().executeQuery(sql);
  
if(rs.next()){
  
jedis.hset("user"+user_id, "user_name", rs.getString("user_name"));//保存至redis中
  
System.out.println("欢迎来到MySql登陆: "+rs.getString("user_name"));
  
}else{
  
System.out.println("欢迎 注册");
  
}
  
} catch (SQLException e) {
  
// TODO Auto-generated catch block
  
e.printStackTrace();
  
}
  

  

  到这里一个算是完整的redis简单入门就介绍完了。欢迎互相学习。

运维网声明 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-426107-1-1.html 上篇帖子: 学习Spring-Session+Redis实现session共享 下篇帖子: Redis常见的应用场景解析
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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