Linux+Redis实战教程_day02_3、redis数据类型_4、String命令_5、hash命令_6、java操作redis数据库技术

3、 redis数据类型【重点】

redis 使用的是键值对保存数据。(map)

key:全部都是字符串

value:有五种数据类型

Linux+Redis实战教程_day02_3、redis数据类型_4、String命令_5、hash命令_6、java操作redis数据库技术

Key名:自定义,key名不要过长,否则影响使用效率

Key名不要太短,最好是有意义。

4、 redis命令-String命令【重点】

字符串类型是Redis中最为基础、常用的数据存储类型,字符串在Redis中是二进制安全的,这便意味着该类型存入和获取的数据相同。在Redis中字符串类型的Value最多可以容纳的数据长度是512M。

二进制安全和数据安全是没有关系的。

MySQL-关系型数据库,二进制不安全。【乱码丢失数据】

Linux+Redis实战教程_day02_3、redis数据类型_4、String命令_5、hash命令_6、java操作redis数据库技术

Redis  二进制数据安全

Linux+Redis实战教程_day02_3、redis数据类型_4、String命令_5、hash命令_6、java操作redis数据库技术

赋值:

set key value:设定key持有指定的字符串value,如果该key存在则进行覆盖操作。总是返回”OK”

如果赋予相同的key,新的value会覆盖老的value

取值:

get key:获取key的value。如果与该key关联的value不是String类型,redis将返回错误信息,因为get命令只能用于获取String value;如果该key不存在,返回(nil)

删除:

del key :删除指定key

返回值是数字类型,表示删了几条数据

扩展:

l getset key value:先获取该key的值,然后在设置该key的值。

l incr key:将指定的key的value原子性的递增1.如果该key不存在,其初始值为0,在incr之后其值为1。如果value的值不能转成整型,如hello,该操作将执行失败并返回相应的错误信息。

相当于 ++i

Linux+Redis实战教程_day02_3、redis数据类型_4、String命令_5、hash命令_6、java操作redis数据库技术

l decr key:将指定的key的value原子性的递减1.如果该key不存在,其初始值为0,在incr之后其值为-1。如果value的值不能转成整型,如hello,该操作将执行失败并返回相应的错误信息。

相当于 –i

Linux+Redis实战教程_day02_3、redis数据类型_4、String命令_5、hash命令_6、java操作redis数据库技术

Incr和decr 只能对字符串是数字的进行操作。

append key value:拼凑字符串。如果该key存在,则在原有的value后追加该值;如果该key不存在,则重新创建一个key/value

Linux+Redis实战教程_day02_3、redis数据类型_4、String命令_5、hash命令_6、java操作redis数据库技术

String使用环境:

主要用于保存json格式的字符串

5、 redis命令-hash(了解)

Redis中的Hash类型可以看成具有String Key和String Value的map容器。所以该类型非常适合于存储值对象的信息。如Username、Password和Age等。如果Hash中包含很少的字段,那么该类型的数据也将仅占用很少的磁盘空间。每一个Hash可以存储4294967295个键值对。

Hash  ----à   {username:”张三”,age:”18”,sex:”man”}------javaBean

Hash特点:占用的磁盘空间极少

赋值:

l hset key field value:为指定的key设定field/value对(键值对)。

hmset key field value [field2 value2 ]:设置key中的多个filed/value

Linux+Redis实战教程_day02_3、redis数据类型_4、String命令_5、hash命令_6、java操作redis数据库技术

Linux+Redis实战教程_day02_3、redis数据类型_4、String命令_5、hash命令_6、java操作redis数据库技术

取值:

l hmget key filed1 filed2 ….:获取key中的多个filed的值

l hgetall key:获取key中的所有filed-vaule

Linux+Redis实战教程_day02_3、redis数据类型_4、String命令_5、hash命令_6、java操作redis数据库技术

Linux+Redis实战教程_day02_3、redis数据类型_4、String命令_5、hash命令_6、java操作redis数据库技术

删除:

del key :删除整个hash

Linux+Redis实战教程_day02_3、redis数据类型_4、String命令_5、hash命令_6、java操作redis数据库技术

扩展:

l hkeys key :获得所有的字段

l hvals key:获得所有的value

Linux+Redis实战教程_day02_3、redis数据类型_4、String命令_5、hash命令_6、java操作redis数据库技术

keys * 查询所有的key

6、 Jedis(java操作redis数据库技术)【重点】

新建项目并加入jar包

Linux+Redis实战教程_day02_3、redis数据类型_4、String命令_5、hash命令_6、java操作redis数据库技术

Linux+Redis实战教程_day02_3、redis数据类型_4、String命令_5、hash命令_6、java操作redis数据库技术

Redis有什么命令,Jedis就有什么方法。

防火墙设置:

开放6379端口

/sbin/iptables -I INPUT -p tcp --dport 6379 -j ACCEPT

保存配置

/etc/rc.d/init.d/iptables save

Linux+Redis实战教程_day02_3、redis数据类型_4、String命令_5、hash命令_6、java操作redis数据库技术

查看数据库有name字段了,是二进制数据表现形式,客户端访问时才解码显示中文

Linux+Redis实战教程_day02_3、redis数据类型_4、String命令_5、hash命令_6、java操作redis数据库技术

Linux+Redis实战教程_day02_3、redis数据类型_4、String命令_5、hash命令_6、java操作redis数据库技术

Jedis连接池:

Linux+Redis实战教程_day02_3、redis数据类型_4、String命令_5、hash命令_6、java操作redis数据库技术

抽取连接池工具:

JedisUtils

Linux+Redis实战教程_day02_3、redis数据类型_4、String命令_5、hash命令_6、java操作redis数据库技术

上一篇:Java操作Redis工具类


下一篇:AFNetworking 3.0 源码解读 总结(干货)(上)