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

时间:2021-01-25 08:17:41

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获取keyvalue。如果与该key关联的value不是String类型,redis将返回错误信息,因为get命令只能用于获取String value如果该key不存在,返回(nil)

 

删除

del key :删除指定key

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

 

 

扩展

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

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

相当于 ++i

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

 

 

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特点:占用的磁盘空间极少

 

 

 

赋值

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数据库技术

 

 

取值

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

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数据库技术

 

 

 

扩展

hkeys key :获得所有的字段

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数据库技术