Redis单机及集群的安装及使用

来源:互联网 发布:js判断ios系统版本 编辑:程序博客网 时间:2024/05/21 19:34

Redis 数据类型

Redis支持五种数据类型

  1. string(字符串)
  2. hash(哈希)
  3. list(列表)
  4. set(集合)
  5. zset(sorted set:有序集合)。

redis作为缓存最常用的类型

  1. string(字符串)
  2. hash(哈希)

最常用的方法

  • set(字符串的设置值)
  • get(字符串取值)
  • del(字符串删除key)
  • expire(设置key的过期时间)
  • ttl(查看key的当前还有多久过期)
  • hset(hash的设置key及值)
  • hget(hash的取值)
  • hdel(删除key)
  • hexists(判断某个key是否存在)

Redis单机的安装

  1. 先安装c语言的编译环境 执行yum install gcc-c++
  2. 解压缩Redis的压缩包 tar zxf Redis
  3. 在解压缩路径下执行make命令
  4. 然后执行 make install -PREFIX 你要安装的路径
  5. 复制解压目录下的redis.conf到安装路径的bin文件下
  6. 默认启动redis 使用命令 bin/redis-server.sh,如果要带自定义的redis的配置文件 直接在后面跟配置文件redis.conf
  7. 如果需要后台启动 我们需要笔记redis.conf,修改daemonize 为yes

Redis集群安装

  1. 单机版安装了,我们只需要创建一个目录 mkdir /usr/local/cluster
  2. 然后复制单机版的redis到cluster名字为redis01,redis02,redis03,redis04,redis05,redis06(1个集群,3个节点,一主一从)
  3. 然后修改redis.conf配置文件,如果在同一台机器上需要修改他们的端口号,cluster-enabled属性为yes
  4. 然后需要安装ruby的环境 yum install ruby ,yum install rubygems
  5. 安装ruby运行的脚本 gem install redis-3.0.0.gem(redis-3.0.0.gem需要自己下载)
  6. 启动所有的redis服务
  7. 进入redis-3.0.0/src目录下 然后执行命令 ./redis-trib.rb create –replicas 1 redis01的地址 redis02的地址 redis03的地址 redis04的地址 redis05的地址 redis06的地址(例如 192.168.25.153:7001 192.168.25.153:7002 192.168.25.153:7003 192.168.25.153:7004 192.168.25.153:7005 192.168.25.153:7006) 这个命令中1代表几个备份机

Redis单机的操作(JAVA)

使用jedis操作redis

Jedis jedis = new Jedis(ip地址, 端口号);String result = jedis.get("hello");System.out.println(result);jedis.close();

使用JedisPool操作redis

/ 第一步:创建一个JedisPool对象。需要指定服务端的ip及端口。JedisPool jedisPool = new JedisPool("192.168.25.153", 6379);// 第二步:从JedisPool中获得Jedis对象。Jedis jedis = jedisPool.getResource();// 第三步:使用Jedis操作redis服务器。jedis.set("jedis", "test");String result = jedis.get("jedis");//关闭jedisjedis.close();

Redis集群的操作(JAVA)

    Set<HostAndPort> nodes = new HashSet<>();    nodes.add(new HostAndPort("192.168.25.153", 7001));    nodes.add(new HostAndPort("192.168.25.153", 7002));    nodes.add(new HostAndPort("192.168.25.153", 7003));    nodes.add(new HostAndPort("192.168.25.153", 7004));    nodes.add(new HostAndPort("192.168.25.153", 7005));    nodes.add(new HostAndPort("192.168.25.153", 7006));    JedisCluster jedisCluster = new JedisCluster(nodes);    // 第二步:直接使用JedisCluster对象操作redis。在系统中单例存在。    jedisCluster.set("hello", "100");    String result = jedisCluster.get("hello");    // 第三步:打印结果    System.out.println(result);    // 第四步:系统关闭前,关闭JedisCluster对象。    jedisCluster.close();

Redis与Spring整合

单机版的配置

<bean id="jedisPool" class="redis.clients.jedis.JedisPool">    <constructor-arg name="host" value="192.168.25.153"></constructor-arg>    <constructor-arg name="port" value="6379"></constructor-arg></bean>

集群版的配置

<bean id="jedisCluster" class="redis.clients.jedis.JedisCluster">    <constructor-arg>        <set>            <bean class="redis.clients.jedis.HostAndPort">                <constructor-arg name="host" value="192.168.25.153"></constructor-arg>                <constructor-arg name="port" value="7001"></constructor-arg>            </bean>            <bean class="redis.clients.jedis.HostAndPort">                <constructor-arg name="host" value="192.168.25.153"></constructor-arg>                <constructor-arg name="port" value="7002"></constructor-arg>            </bean>            <bean class="redis.clients.jedis.HostAndPort">                <constructor-arg name="host" value="192.168.25.153"></constructor-arg>                <constructor-arg name="port" value="7003"></constructor-arg>            </bean>            <bean class="redis.clients.jedis.HostAndPort">                <constructor-arg name="host" value="192.168.25.153"></constructor-arg>                <constructor-arg name="port" value="7004"></constructor-arg>            </bean>            <bean class="redis.clients.jedis.HostAndPort">                <constructor-arg name="host" value="192.168.25.153"></constructor-arg>                <constructor-arg name="port" value="7005"></constructor-arg>            </bean>            <bean class="redis.clients.jedis.HostAndPort">                <constructor-arg name="host" value="192.168.25.153"></constructor-arg>                <constructor-arg name="port" value="7006"></constructor-arg>            </bean>        </set>    </constructor-arg></bean>
原创粉丝点击