天天看点

Java中Redis简单入门

Redis是一个开源的,先进的 key-value 存储可用于构建高性能,可扩展的 Web 应用程序的解决方案。

加芊芊老师vx领取最新资料哦   

Java中Redis简单入门

Redis官方网网站是:http://www.redis.io/,如下:

Java中Redis简单入门

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

  • Redis是完全在内存中保存数据的数据库,使用磁盘只是为了持久性目的; 
  • Redis相比许多键值数据存储系统有相对丰富的数据类型; 
  • Redis可以将数据复制到任意数量的从服务器中; 

Redis优点

  • 异常快速 : Redis是非常快的,每秒可以执行大约110000设置操作,81000个/每秒的读取操作。
  • 支持丰富的数据类型 : Redis支持最大多数开发人员已经知道如列表,集合,可排序集合,哈希等数据类型。

    这使得在应用中很容易解决的各种问题,因为我们知道哪些问题处理使用哪种数据类型更好解决。

  • 操作都是原子的 : 所有 Redis 的操作都是原子,从而确保当两个客户同时访问 Redis 服务器得到的是更新后的值(最新值)。
  • MultiUtility工具:Redis是一个多功能实用工具,可以在很多如:缓存,消息传递队列中使用(Redis原生支持发布/订阅),在应用程序中,如:Web应用程序会话,网站页面点击数等任何短暂的数据;

要在windows中安装redis:

  • 在官网中下载redis压缩包
  • 执行cmd命令找到redis的存放目录,启动服务器端,如图:
Java中Redis简单入门

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

Java中Redis简单入门

该图是连接本地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,如下:
    1

    Jedis jedis = 

    new

    Jedis(

    "localhost"

    );

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

    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和数据库登陆的小测试功能中的一段代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

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 id = "

+user_id+

""

;

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简单入门就介绍完了。欢迎互相学习。

  文末福利

大家可以加老师vx领取最新资料哦

Java中Redis简单入门

 别忘了扫码领资料哦,获取【Java高清路线图】和【全套学习视频和配套资料】