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

[经验分享] Redis学习记录之Java中的初步使用

[复制链接]

尚未签到

发表于 2017-12-20 21:45:53 | 显示全部楼层 |阅读模式
[html] view plain copy

  • Redis是什么?两句话可以做下概括:
  • 1. 是一个完全开源免费的key-value内存数据库
  • 2. 通常被认为是一个数据结构服务器,主要是因为其有着丰富的数据结构 strings、map、 list、sets、 sorted sets


  • 它通过提供多种键值数据类型来适应不同场景下的存储需求,并借助许多高层级的接口使其可以胜任如缓存、队列系统等不同的角色
  • 和Memcached类似,但是解决了断电后数据完全丢失的情况,而且她支持更多无化的value类型,除了和string外,
  • 还支持lists(链表)、sets(集合)和zsets(有序集合)几种数据类型。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的


  • 2.支持的数据类型
  •             字符串类型    string
  •             散列类型         Hash
  •             链表表类型     lists
  •             集合类型          sets
  •             有序集合类型  zsets

  • 说明:
  •      string是最简单的类型,你可以理解成与Memcached一模一个的类型,一个key对应一个value,其上支持的操作与Memcached的操作类似。但它的功能更丰富。
  •      list是一个链表结构,主要功能是push、pop、获取一个范围的所有值等等。操作中key理解为链表的名字。
  •      set是集合,和我们数学中的集合概念相似,对集合的操作有添加删除元素,有对多个集合求交并差等操作。操作中key理解为集合的名字。
  •      zset是set的一个升级版本,他在set的基础上增加了一个顺序属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会自动重新按新的值调整顺序。可以理解了有两列的mysql表,一列存value,一列存顺序。操作中key理解为zset的名字。
  •      Hash数据类型允许用户用Redis存储对象类型,Hash数据类型的一个重要优点是,当你存储的数据对象只有很少几个key值时,数据存储的内存消耗会很小.



  • 3.内存存储于持久化

  •     Redis数据库中的所有数据都存储在内存中,同时提供了对持久化的支持,即:可以将内存中的数据异步写入硬盘中,同时不会影响继续提供服务


  • redis主从配置

  • redis支持master-slave的主从配置,配置方法是在从机的配置文件中指定slaveof参数为主机的ip和port即可


  • 4. Redis VS  Memcached

  •    1.都可以做为缓存系统使用
  •    2.性能上Redis是单线程模型,Memcached支持多线程,所有在多核服务器上后者的性能更高一些
  •    3.Redis支持高级的数据类型和持久化等功能
  •    4.存储方式方面:Memcached只支持简单的key-value存储,不支持枚举,不支持持久化和复制等功能


  • 5.安装Redis  -- Redis官方仅支持 Linux、Unix和OS X,不支持Windows


  • Linux下安装:  wget或拷贝到指定目录下    ---  解压后在src目录下使用macke命令完成编译


  • wget http://download.redis.io/redis-stable.tar.gz
  • tar xzf redis-stable.tar.gz
  • cd redis-stable
  • make


  • 需要说明的事,redis的安装非常简单,已经有现成的Makefile文件,直接运行make命令即可。

  • make

  • make install


  • Redis 由四个可执行文件:redis-benchmark、redis-cli、redis-server、redis-stat 这四个文件,加上一个redis.conf就构成了整个redis的最终可用包。它们的作用如下:


  • redis-server:Redis服务器的daemon启动程序
  • redis-cli:Redis命令行操作工具。当然,你也可以用telnet根据其纯文本协议来操作
  • redis-benchmark:Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能
  • redis-stat:Redis状态检测工具,可以检测Redis当前状态参数及延迟状况


  • 6.启动和停止Redis


  • 编译后生成的可执行文件
  •      redis-server                 ----  Redis 服务器
  •      redis-cli                    ----  Redis命令行客户端



  • redis-server   是Redis的服务器,启动Redis即运行redis-server
  • redis-cli      是Redis自带的Redis命令行客户端,学习Redis的重要工具




  • 启动Redis
  •        1.直接启动      -- 运行redis-server即可启动redis
  •                      注意:
  •            Redis服务器默认会使用6379端口,通过--port参数可以自定义使用的端口号
  •            eg:
  •                redis-server --port 6380

  • 停止Redis


  •        redis-cli shutdown


  • Redis有可能正在将内存中的数据同步到硬盘中,强行终止Redis进程可能会导致数据丢失,正确的做法是向Redis发送shutdown命令
  • 当Redis收到shutdown命令后,会先断开所有客户端连接,然后根据配置执行持久化,最后完成退出

  2.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-426233-1-1.html 上篇帖子: redis 常用配置 下篇帖子: Redis 持久化,写入磁盘的方式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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