zoukankan      html  css  js  c++  java
  • Redis客户端

    自带命令行客户端

     命令格式

    ./redis-cli -h 127.0.0.1 -p 6379

     修改redis配置文件(解决IP绑定问题)

    # bind 127.0.0.1绑定的IP才能访问redis服务器,注释掉该配置

    protected-mode yes  是否开启保护模式yes该为no

    默认方式

    如果不指定主机和端口也可以

    ./redis-cli
    

    默认主机地址是127.0.0.1

    默认端口是6379

    连接超时解决

    远程连接redis服务,需要关闭或者修改防火墙配置。

    修改防火墙设置:

     第一步:编辑iptables

    vim /etc/sysconfig/iptables

    在命令模式下,选定要复制的那一行的末尾,然后点击键盘yyp,就完成复制,然后修改

    l 第二步:重启防火墙

    service iptables restart
    iptables:清除防火墙规则:                                 [确定]
    iptables:将链设置为政策 ACCEPT:filter                    [确定]
    iptables:正在卸载模块:                                   [确定]
    iptables:应用防火墙规则:                                 [确定]
    

     数据库支持

    默认一共是16个数据库,每个数据库之间是相互隔离(但是可以使用flushall一次清空所有的库)。数据库的数量是在redis.conf中配置的。

     

     切换数据库使用命令:select 数据库编号0-15)

    例如:select 1

    程序客户端之Java客户端Jedis

    Jedis介绍

     Redis不仅使用命令客户端来操作,而且可以使用程序客户端操作。

     现在基本上主流的语言都有客户端支持,比如JavaC、C#、C++、php、Node.js、Go等。

     在官方网站里列一些Java的客户端,有JedisRedisson、Jredis、JDBC-Redis、等其中官方推荐使用Jedis和Redisson。

     在企业中用的最多的就是Jedis,下面我们就重点学习下Jedis。

     Jedis同样也是托管在github上,地址:https://github.com/xetorthio/jedis

     

    添加jar包

              <dependency>
    		<groupId>redis.clients</groupId>
    			<artifactId>jedis</artifactId>
    			<version>2.9.0</version>
    		</dependency>
    

    单实例连接

    注意事项:需要去设置redis服务器的防火墙策略(临时关闭、永久关闭、端口暴露)

     

    @Test
    	public void testJedis() {
    		//创建一个Jedis的连接
    		Jedis jedis = new Jedis("127.0.0.1", 6379);
    		//执行redis命令
    		jedis.set("key1", "hello world");
    		//从redis中取值
    		String result = jedis.get("key1");
    		//打印结果
    		System.out.println(result);
    		//关闭连接
    		jedis.close();
    		
    	}
    

    连接池连接

    @Test
    	public void testJedisPool() {
    		//创建一连接池对象
    		JedisPool jedisPool = new JedisPool("127.0.0.1", 6379);
    		//从连接池中获得连接
    		Jedis jedis = jedisPool.getResource();
    		String result = jedis.get("key1") ;
    		System.out.println(result);
    		//关闭连接
    		jedis.close();
    		
    		//关闭连接池
    		jedisPool.close();
    	}
    

    测试代码

    @Test
    	public void testJedisPool() {
    		JedisPool pool = (JedisPool) applicationContext.getBean("jedisPool");
    		Jedis jedis = null;
    		try {
    			jedis = pool.getResource();
    
    			jedis.set("name", "lisi");
    			String name = jedis.get("name");
    			System.out.println(name);
    		} catch (Exception ex) {
    			ex.printStackTrace();
    		} finally {
    			if (jedis != null) {
    				// 关闭连接
    				jedis.close();
    			}
    		}
    	}
    

     

    客户端操作Redis

    redis是一个key-value的Nosql,我们能操作就只有String类型key以及各种类型value.但是一定要注意我们添加的一般都是字符串,只是会组织为特定数据结构.

    set(key ,map,set)  -->  set(key ,1),set(key ,"2")

    注意:要先启动redis服务端

    对value为string类型的常用操作

    set key value       //将字符串值value关联到key
    get key               //返回key关联的字符串值

     

     mset               //同时设置一个或多个 key-value 对
    mget              //返回所有(一个或多个)给定 key 的值

     

    incr key                     //将 key 中储存的数字值增1(key不存在,则初始化为0,再加1)
    decr key                  //将 key 中储存的数字值减1(key不存在,则初始化为0,再减1)
    incrBy key                  //自增多少
    decrBy key

     对key的常用操作

    keys *                    //获取所有key列表
    del key                    //删除key
    expire key xx                   //设置key的过期时间(xx秒后过期)
    ttl key                  //查看key的过期时间

    select 0-15             //选择库
    flushall                   //清空整个redis服务器数据,所有的数据库全部清空
    flushdb                  //清除当前库,redis中默认有16个数据库,名称分别为0,1,2...15

     

     

     

  • 相关阅读:
    解决ios下的微信页面背景音乐无法自动播放问题
    vue Vue-cli 笔记
    document.documentElement和document.body区别介绍
    GD库使用小结---2
    GD库使用小结---1
    踩到两只“bug”
    CI加载流程小结
    文件加载---理解一个project的第一步
    缓存的使用
    小小的分页
  • 原文地址:https://www.cnblogs.com/caocw/p/12245656.html
Copyright © 2011-2022 走看看