Redis学习笔记(一)

4 篇文章 0 订阅
3 篇文章 0 订阅

     (1)redis存储的是键值对,key是String类型的,value有5种类型,分别是String,Hash({uname:"xiaohuang",age:"20"}相当于javabean),List([1,2.3.4] 链表),Set([a,b,c.d] HashSet),有序的Set集合({10000 aa,5000 bb,100 cc} 排行榜)。

     (2)当redis的value为String类型时,可容纳的最大长度为512M。字符串在Redis中是二进制安全的,因为数据的编解码只发生在客户端。

      (3)value为String类型的操作命令:

            赋值:set key value

            取值:get key

            删值:del key

(4)扩展命令:
取值再赋值:getset key value
自增1:incr key (value必须是整型数字的字符串,否则会报错,如果不存在该key,默认value为0)
自减1:decr key (value必须是整型数字的字符串,否则会报错)
拼接字符串:append key value (返回value的长度)
自增n: incrby key n
自减n:decrby key n
(5)String使用环境:

json格式是字符串的,例如查询数据库返回的List<product>转成json格式[{pname:"",pname:"",pname:""}]

二.value为hash

(1)赋值:hset key field value (存储具有一个字段和value)
   hmset key field1 value1 field2 value2 field3 value3(存储多个字段和多个value)
(2)取值:hget key field (取出一个字段对应的value)
   hmget key fields (取出多个字段其对应的value)
   hgetall key (取出所有字段及其对应的value)
(3)删值:hdel key fields(删除一个或多个字段及其对应的value)
   del key(删除该key对应的所有字段及其value)
(4)扩展命令: 
   hincrby key field increment (字段对应值是数字的自增n)
   hexits key field (是否存在该字段)
   hlen key (该key对应的value有多少个字段)
   hkeys key (列出该key对应的所有字段)
   hvals key (列出该key对应的所有字段对应的所有value)
 

三.在myeclipse使用Jedis连接redis,需要两个jar包:jedis-2.7.3.jar和commons-pool2-2.3.jar

                     Jedis jedis = new Jedis(host,port);

                     Jedis jedis = new Jedis(host,port);

     jedis.set(key,value);
   遇到问题1:通过/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT,/etc/rc.d/init.d/iptables save已经开放了6379端口,可运行时还是出现连接异常
   解决方法:经过查找发现redis.conf配置文件中已经设定绑定本ip才可访问,所以修改redis.conf,vim redis.conf 将band 127.0.0.1注释掉,即#band 127.0.0.1
   问题2:再次运行程序,出现异常,DENIED Redis is running in protected mode
   解决方法:因为上面的解决方法,导致redis开启了保护模式,再次修改redis.conf文件,将里面的protected-mode yes改为protected-mode no,再次运行程序可以正常运行了
   通过Jedis连接池获取jedis,JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
     jedisPoolConfig.set...();
     JedisPool jedisPool = new JedisPool(jedisPoolConfig,host,port);
     Jedis jedis = jedisPool.getResource();
     String value = jedis.get(key);
  自定义JedisUtil:public static final JedisPool POOL;
   static{
    JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
    jedisPoolConfig.set...();
    POOL = new JedisPool(jedisPoolConfig,host,port);
}
   public static Jedis getJedis(){
    return POOL.getResource();
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值