数据类型(重点)
Key的取值:自定义,key名不要过长,否则影响使用效率;Key不要太短,最好是有意义。
Redis命令
String命令(重点)
字符串类型是Redis中最为基础、常用的数据存储类型,字符串在Redis中是二进制安全的,这便意味着该类型存入和获取的数据相同。在Redis中字符串类型的Value最多可以容纳的数据长度是512MB。
二进制安全和数据安全是没有关系的。
MySQL-关系型数据库,二进制不安全。【乱码丢失数据】
常用命令
命令 |
功能 |
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 返回值是数字类型,表示删了几条数据 |
getset key value |
先获取该key的值,然后再设置该key的值。 |
incr key |
将指定的key的value原子性的递增1。如果该key不存在,其初始值为0,在incr之后其值为1。 如果value的值不能转成整型,如hello,该操作将执行失败并返回相应的错误信息。相当于 ++i |
decr key |
将指定的key的value原子性的递减1。如果该key不存在,其初始值为0,在incr之后其值为-1。 如果value的值不能转成整型,如hello,该操作将执行失败并返回相应的错误信息。相当于 - -i |
append key value |
拼凑字符串。如果该key存在,则在原有的value后追加该值; 如果该key不存在,则重新创建一个key/value |
String使用环境:主要用于保存json格式的字符串
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 |
hmget key filed1 filed2 … |
获取key中的多个filed的值 |
hgetall key |
获取key中的所有filed-vaule |
del key |
删除整个hash |
hkeys key |
获得所有的字段 |
hvals key |
获得所有的value |
keys * |
查询所有的key |