Redis安装及Java客户端的使用浅析(jedis)

标签: jedis
4929人阅读 评论(0) 收藏 举报
分类:

注:转载请注明出处,谢谢O(∩_∩)O~

概述

    概述内容摘抄自官网:

    Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件. 它支持多种类型的数据结构,如 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets) 与范围查询, bitmaps, hyperloglogs 和 地理空间(geospatial) 索引半径查询. Redis 内置了 复制(replication), LUA脚本(Lua scripting), LRU驱动事件(LRU eviction), 事务(transactions) 和不同级别的 磁盘持久化(persistence), 并通过 Redis哨兵(Sentinel) 和自动 分区(Cluster)提供高可用性(high availability).

    你可以对这些类型执行 原子操作 , 列如: 字符串(strings)的append 命令; 散列(hashes)的hincrby命令; 列表(lists)的lpush命令; 集合(sets)计算交集sinter命令, 计算并集union命令 和 计算差集sdiff命令; 或者 在有序集合(sorted sets)里面获取成员的最高排名zrangebyscore命令.

    为了实现其卓越的性能, Redis 采用运行在 内存中的数据集工作方式. 根据您的使用情况, 您可以每隔一定时间将 数据集导出到磁盘 , 或者 追加到命令日志中. 您也可以关闭持久化功能,将Redis作为一个高效的网络的缓存数据功能使用.

    Redis 同样支持 主从复制(能自动重连和网络断开时自动重新同步),并且第一次同步是快速的非阻塞试的同步. 其他功能包括:

  •     事务(Transactions)
  •     订阅分发(Pub/Sub)
  •     LUA脚本(Lua scripting)
  •     过期自动删除key
  •     内存回收
  •     自动故障转移

    您可以使用 大多数的编程语言 来使用Redis.

    Redis 使用 ANSI C 编写并且能在绝大Linux系统上运行,基于BSD协议,对OS X没有外部依赖. 我们支持Linux 和 OS X两种系统的开发和测试,我们推荐使用Linux部署. Redis 可以像SmartOS一样运行在Solaris系统中, 但是我们会最大力度的支持它. 官方不支持Windos版本的Redis,但微软开发和维护着支持win-64 的Redis版本

    OK,以上都是说过场,下面开始实战。

Redis的安装、运行

    server版本的redis安装请移步:把redis安装到ubuntu-14.04.1-server

    推荐在linux下使用Redis,windows版本的也有,不过不是官方维护的,由微软的技术团队负责维护和支持(当然跟官方的一样有权威性!)。下面将介绍在ubuntu下如何安装,其他linux版本的其实也大同小异了。

    目前redis最新版本是3.0.7,具体更新等内容请移至官网查看,输入以下命令:

  1. $ wget http://download.redis.io/releases/redis-3.0.7.tar.gz
  2. $ tar xzf redis-3.0.7.tar.gz
  3. $ cd redis-3.0.7
  4. $ make

    第一个命令是下载软件包,第二个事解压缩,第三个是进入redis目录,第四个是编译(c开发的不想java的拿来即用,不同平台编译方式会略有差异,所以不会给直接能运行的文件,当然,也给不出(;`O´)o)。

    使用以下命令运行redis:

  1. redis-server

    经过以上几步,redis服务就已经开始运行了,此处采用的不含配置的启动方式,也可以使用以下命令使用含配置的启动方式:

  1. redis-server redis.conf

    配置的具体参数可以通过编辑redis.conf修改,至于如何修改,官网也有相关文档,此处只坐简单的演示,就不多说。

    命令行运行启动服务的命令会进入redis启动成功的界面,我们可以在命令后面加上“&”符号让命令在后台运行,以便更方便的操作(当然,如果你使用的带桌面的ubuntu,你完全可以再打开一个终端来执行后面的操作)

    运行客户端即可开始使用redis,输入以下命令进入客户端(同时也能检查redis是否正常运行):

  1. $redis-cli

    如果配置了需要密码登陆的,需要使用如下命令:

  1. redis-cli -a password //连接其他主机添加参数 -h host -p port

    命令行输入“ping”测试。

    然后可以往里面添加数据了,下面添加一个String:

  1. set name anxpp

    成功操作命令行会提示“OK”(java客户端的set函数也是这样返回的),接下来就获取设置的这个值:

  1. get name

    当然,命令行会输出刚刚set进去的值“anxpp”,这部分暂时就介绍这么多了,如需了解更多,还请移步官网O(∩_∩)O~。

    关闭redis:redis-cli shutdown

    退出客户端:quit

使用Java操作Redis

    相关的jar包支持

    以下皆为当前最新版本,点击可下载。

    commons-pool2-2.4.2.jarCommons Pool组件提供了一整套用于实现对象池化的框架,以及若干种各具特色的对象池实现,可以有效地减少处理对象池化时的工作量,为其它重要的工作留下更多的精力和时间。

     jedis-2.8.1.jar:redis客户端支持jar包。

    连接并获取操作对象

  1. public class RedisDemo {
  2. JedisPool pool;
  3. Jedis jedis;
  4. public RedisDemo() {
  5. pool = new JedisPool(new JedisPoolConfig(), "192.168.40.129");
  6. jedis = pool.getResource();
  7. // jedis.auth("password");//如果配置了密码
  8. }
  9. }

    下面的各种方法,都会添加到上面这个RedisDemo类中,并且一些说明都会写入注释,所以就不会额外的解释了。

    Redis存储初级的字符串

  1. /**
  2. * 添加一个新值,若这个key已经存在,则替换掉之前的值
  3. * @param key 值的key
  4. * @param value 要添加的值
  5. * @return 添加成功时会返回“OK”,否则返回错误信息
  6. */
  7. public String setString(String key,String value){
  8. return jedis.set(key, value);
  9. }
  10. /**
  11. * 获取值
  12. * @param key 要获取的值对应的key
  13. * @return 若key存在,返回对应的值,若不存在,返回null
  14. */
  15. public String getString(String key){
  16. return jedis.get(key);
  17. }
  18. /**
  19. * 修改数据
  20. * @param key 要修改的值的key
  21. * @param appendStr 要添加的内容
  22. * @return 返回当前key对应String的长度
  23. * 若key不存在,就新增值,若存在,就添加到已存在的String的后面
  24. */
  25. public long appendString(String key,String appendStr){
  26. jedis.del(key);
  27. return jedis.append(key, appendStr);
  28. }
  29. /**
  30. * 删除String
  31. * @param key 要删除的值的key
  32. * @return 返回删除的个数
  33. * 若key不存在,就返回0,表示一个都没有删除
  34. */
  35. public long delString(String key){
  36. return jedis.del(key);
  37. }

更多阅读

    Redis中的String

查看评论

Redis数据库

-
  • 1970年01月01日 08:00

Java 使用 Redis

安装 开始在 Java 中使用 Redis 前, 我们需要确保已经安装了 redis 服务及 Java redis 驱动,且你的机器上能正常使用 Java。 Java的安装配置可以参考我们的 J...
  • softn
  • softn
  • 2016-07-27 10:31:25
  • 393

REDIS 学习(9) 使用java8写jedis的技巧,经典jedis池,附配置文件的读取

使用jedis灵活可靠,而且用微不足道的序列化消耗提高开发效率。 首先看一段try-with-resoure风格的jedis片,这种方式jedis会在cath(Excepiton e)或者try代码结...
  • kkgbn
  • kkgbn
  • 2016-09-23 07:06:22
  • 2547

基于JDK 1.8 的 Java 容器UML图

这张图主要描述Java中容器框架,基于JDK 1.8 的。    网上现有的相关图都是基于老版本的JDK,而且也比较简陋。    图中省略了过时的容器和多线程编程时用到的一些容器(不过相关内容再博客另...
  • anxpp
  • anxpp
  • 2016-04-19 22:22:14
  • 4110

更换jdk版本:jdk1.8更换为jdk1.7之后输入java -version还是出现1.8的版本号

按照网上的说法,把jdk的环境变量放到path的最前边,依然不行。 在控制面板中把jdk1.8卸载,path中的环境变量放到最前边就搞定了...
  • weixin_38898192
  • weixin_38898192
  • 2017-08-11 11:09:25
  • 192

【Redis】Java中使用Jedis操作Redis(Maven导入包)、创建Redis连接池

转载请注明出处:http://blog.csdn.net/qq_26525215 本文源自【大学之旅_谙忆的博客】 如果我们使用Java操作Redis, 需要确保已经安装了 redis 服务及 Jav...
  • qq_26525215
  • qq_26525215
  • 2017-03-05 14:22:44
  • 12587

win10安装redis及redis客户端使用方法

Redis下载地址目录结构: readme.md是我自己添加的文件,不属于下载内容。双击目录下的redis-server.exe启动服务,窗口若关闭,则服务关闭。 也可以使用cmd进到redi...
  • office5845
  • office5845
  • 2017-09-18 12:54:48
  • 1742

Redis介绍、安装、客户端

Redis介绍、安装、客户端
  • ZJDWHD
  • ZJDWHD
  • 2016-11-16 02:53:32
  • 6955

JAVA对Redis的使用

以上是做了Redis的一些基本操作的封装和测试类,仅供参考
  • u011425751
  • u011425751
  • 2016-05-26 16:14:17
  • 6195

Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式…)介绍

关键字:Redis的Java客户端Jedis的八种调用方式(事务、管道、分布式…)介绍  Tags: redis, jedis, 事务, 管道, 分布式, 连接池  redis是一个著名的key-v...
  • Truong
  • Truong
  • 2015-07-01 15:43:37
  • 36867
    个人资料
    专栏达人 持之以恒
    等级:
    访问量: 88万+
    积分: 5843
    排名: 5510
    博客专栏
    music