• 什么是redis
  • redis 的应用场景
  • centos下安装redis
  • Jedis 结合Spring

什么是redis

Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。[1]

redis 的应用场景

缓存(数据查询、短连接、新闻内容、商品内容等等)。(最多使用)
分布式集群架构中的session分离。
聊天室的在线好友列表。
任务队列。(秒杀、抢购、12306等等)
应用排行榜。
网站访问统计。
数据过期处理(可以精确到毫秒)

centos下安装redis

  • https://redis.io/ 下载redis源码使用gcc编译
    tar -zxvf redis-3.0.0.tar.gz
    make
  • 安装到指定目录
  • make PREFIX=/usr/local/redis install
  • 拷贝配置文件redis.conf到安装目录下
    redis-server redis 服务器
    redis-cli rides命令行客户端
    启动Redis
    redis默认端口是6379
  • 前端启动方式
    bin/redis-server
    缺点是关闭窗口后程序结束
  • 后端启动方式

    1. 修改redis.conf
      daemonize yes
    2. ./bin/redis-server ./redis.conf
      查看服务
      Ps aux|grep redis

    Jedis 结合Spring

    !-- 连接池配置 -->
    <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
        <!-- 最大连接数 -->
        <property name="maxTotal" value="30" />
        <!-- 最大空闲连接数 -->
        <property name="maxIdle" value="10" />
        <!-- 每次释放连接的最大数目 -->
        <property name="numTestsPerevictionRun" value="1024" />
        <!-- 释放连接的扫描间隔(毫秒) -->
        <property name="timeBetweenevictionRunsMillis" value="30000" />
        <!-- 连接最小空闲时间 -->
        <property name="minevictableIdleTimeMillis" value="1800000" />
        <!-- 连接空闲多久后释放,当空闲时间>该值 且 空闲连接>最大空闲连接数 时直接释放 -->
        <property name="softMinevictableIdleTimeMillis" value="10000" />
        <!-- 获取连接时的最大等待毫秒数,小于零:阻塞不确定的时间,默认-1 -->
        <property name="maxWaitMillis" value="1500" />
        <!-- 在获取连接的时候检查有效性,默认false -->
        <property name="testOnBorrow" value="true" />
        <!-- 在空闲时检查有效性,默认false -->
        <property name="testWhileIdle" value="true" />
        <!-- 连接耗尽时是否阻塞,false报异常,ture阻塞直到超时,默认true -->
        <property name="blockWhenExhausted" value="false" />
    </bean>
    
    <!-- redis单机 通过连接池 -->
    <bean id="jedisPool" class="redis.clients.jedis.JedisPool" destroy-method="close">
        <constructor-arg name="poolConfig" ref="jedisPoolConfig"/>
        <constructor-arg name="host" value="192.168.25.145"/>
        <constructor-arg name="port" value="6379"/>
    </bean>
        <!--集群版-->
    <!--<bean id="redisClient" class="redis.clients.jedis.JedisClientCluster">-->
        <!--<constructor-arg name="nodes">-->
            <!--<set>-->
                <!--<bean class="redis.clients.jedis.HostAndPort">-->
                    <!--<constructor-arg name="host" value="192.168.25.130"/>-->
                    <!--<constructor-arg name="port" value="7001"/>-->
                <!--</bean>-->
                <!--<bean class="redis.clients.jedis.HostAndPort">-->
                    <!--<constructor-arg name="host" value="192.168.25.130"/>-->
                    <!--<constructor-arg name="port" value="7002"/>-->
                <!--</bean>-->
                <!--<bean class="redis.clients.jedis.HostAndPort">-->
                    <!--<constructor-arg name="host" value="192.168.25.130"/>-->
                    <!--<constructor-arg name="port" value="7003"/>-->
                <!--</bean>-->
                <!--<bean class="redis.clients.jedis.HostAndPort">-->
                    <!--<constructor-arg name="host" value="192.168.25.130"/>-->
                    <!--<constructor-arg name="port" value="7004"/>-->
                <!--</bean>-->
                <!--<bean class="redis.clients.jedis.HostAndPort">-->
                    <!--<constructor-arg name="host" value="192.168.25.130"/>-->
                    <!--<constructor-arg name="port" value="7005"/>-->
                <!--</bean>-->
                <!--<bean class="redis.clients.jedis.HostAndPort">-->
                    <!--<constructor-arg name="host" value="192.168.25.130"/>-->
                    <!--<constructor-arg name="port" value="7006"/>-->
                <!--</bean>-->
            <!--</set>-->
        <!--</constructor-arg>-->
    <!--</bean>-->
    <!--<bean id="jedisClientCluster" class="cn.zsp.taotao.portalal.dao.impl.JedisClientClusterluster"></bean>-->

Centos 下安装redis 以及Jedis的使用的更多相关文章

  1. ios – Objective-C中的混合或多重继承?

    换句话说,是否可以创建一个可以从这两个子类继承的抽象类,然后只覆盖两者之间不同的方法?我到目前为止所知道的>我知道Objective-C不支持多重继承>我知道我可以使用Categories添加常用的方法,但是我不认为这会解决覆盖init方法或添加私有属性解决方法建立在Amin的答案上,这是怎么做的呢?

  2. Swift 调用 objc/runtime OBJC_ASSOCIATION_RETAIN

    我扩展一些类在Swift2.0工作与ReactiveCocoa3.0,但遇到了一些问题。我跟随科林·艾伯哈特的教程,和有复制粘贴一些他UIKit扩展逻辑结束对我的OSX应用程序。它所有的编译很好,除了此属性:UInt,这给了我以下的编译器错误。使用的未解析的标识符如何访问此属性?我一直对importObjectiveC和#import头文件,但没有什么似乎工作。解决方法1:这是实际上现在导入Swift作为枚举命名为objc_AssociationPolicy。或与枚举速记语法。

  3. [快速学会Swift第三方库] SwiftyJSON篇

    [快速学会Swift第三方库]SwiftyJSON篇SwiftyJSON使得用Swift处理JSON数据更加容易。这是解析JSON字符串封装类。目录快速学会Swift第三方库SwiftyJSON篇目录编码之前导入SwiftyJSON其他操作解析本地JSON示例JSON示例代码运行结果解析网络JSON示例JSON示例代码运行结果深入学习编码之前导入SwiftyJSON推荐使用CocoaPods进行导入,CocoaPods是一个负责管理iOS项目中第三方开源库的工具,安装CocoaPods之后使用命令行就能轻

  4. Swift 3.0字符串连接离开“可选”

    “随你”有人见过类似的东西?

  5. 如何在android中设置多个SMTP服务器?

    我的问题是如何设置多个SMTP服务器在Android中发送邮件,如:雅虎,hotmail,gmail,rediff任何类型的域名将在发送邮件时起作用.任何人都可以建议任何网站或任何想法吗?请帮帮我,谢谢你.解决方法以下是GMail,Yahoo!的测试设置.和Hotmail.使用适用于Android的JavaxMail端口进行测试.

  6. Android VM不允许我们分配xx字节

    我正在开发一款安卓游戏.当我尝试使用3张图像作为背景时问题就出现了.图像为1280x720px和100kb大.图像真的不是那么大,所以我有点困惑,为什么它们应该导致内存问题.注意:屏幕分辨率为800×400,因此我无法通过因子2调整图像大小,因为它是suggestedonandroiddeveloper注意:我正在使用HTC欲望手机(这里崩溃来了),我也尝试过在三星galaxyS1和三星上运行正常

  7. android – 在Jelly Bean平板电脑中隐藏系统栏(生根)

    我有一个AndroidJellyBean平板电脑已经扎根并且试图运行一个应用程序,其中包含隐藏系统栏的代码,但它没有被隐藏,任何人都可以帮助我解决这个问题.获取终端输出:结果包(00000000’….’)虽然我正在获得许可的祝酒:超级用户日志屏幕截图:解决方法当引入ICS时,systemUI类的进程ID从79更改为42.下面的代码适用于您的应用可能正在运行的任何Android版本.

  8. 交叉编译Freetype 2.5.3 for Android

    noconfigure:error:in/cygdrive/d/Development/tmp/freetype2/builds/unix':configure:error:CcompilercannotcreateexecutablesSeeconfig.log’formoredetailsbuilds/unix/detect.mk:86:recipefortarget‘setup’Failedmake:*[setup]Error77一些config.log文件:gccversion4.8configu

  9. android – 我们可以通过USB线缆将数据通过USB Host API传输到PC吗?

    请帮帮我,在我的项目中,我需要通过USB线将数据从Android设备传输到PC不依赖于USB调试模式选项.那么可以通过USB主机API将数据传输到PC吗?提前致谢.解决方法你可以,就像卡罗克的工作方式一样.USB主机功能的唯一区别是,当android处于主机模式时,它提供电源.这取决于设备,而不依赖于APIlvl.但是你不需要主机功能,因为pc是主机.你想要处于配件模式.有关详细信息,请查看:Accessorymode

  10. android – NsdManager.DiscoveryListener.onServiceFound的NsdServiceInfo中的Host为null

    我正在尝试将NsdServiceInfo的mHost作为参数传递给NsdManager.discoveryListener.onServiceFound(),但它为null.我有两个Android设备,其中设备1是服务器,设备2是客户端.这是我在设备1中注册服务器的方式这就是我初始化discoveryListener的方法但是service.getHost()返回null.有什么建议吗?解决方法我

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部