1. Redis常用数据类型:
1.1 简单了解Redis
Redis中文网: Redis中文网
官网介绍: Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区。
1.2 五种常用数据类型介绍
Redis存储的是key-value结构的数据,其中key是字符串类型,value有5种常用的数据类型:
-
字符串 string : 普通字符串,Redis中最简单的数据类型
-
哈希 hash : 也叫散列,类似于Java中的HashMap结构
-
列表 list : 按照插入顺序排序,可以有重复元素,类似于Java中的LinkedList
-
集合 set : 无序集合,没有重复元素,类似于Java中的HashSet
-
有序集合 sorted set / zset : 集合中每个元素关联一个分数(score),根据分数升序排序,没有重复元素
2.Redis常用命令
2.1 字符串常用操作命令
-
SET key value
-
设置指定key的值
-
如果key已经存在,则就是修改值
-
-
GET key
-
获取指定key的值
-
如果没有这个key,就是nil 就是空的意思
-
控制台演示:
这里我们可以看到通过set key-> name 为zhangsan 后 再set name 为lisi,通过get name 可以看到name的值已经被修改为lisi了,而get a 即get一个不存在的key时,则会显示(nil)代表空的意思
-
SETEX key seconds value
-
设置指定key的值,并将 key 的过期时间设为 seconds 秒
-
-
TTL key
-
查看key剩余存活时间
-
正数:表示还剩下多少秒存活时间
-
-1:没有设置过期时间
-
-2:已经过期
-
-
控制台演示:
-
SETNX key value
-
如果 key不存在,则设置成功,返回1
-
如果key存在,就什么都不做,返回0
-
控制台演示:
-
incr key
-
自增1
-
如果key对应存储的值是一个数值类型的字符串,则把该值+1
-
如果存储的值不是一个数值,则报错
-
incrby key 数值
-
要为key增加指定数值
-
-
-
decr key
-
自减1
-
decrby key 数值
-
要为key增加指定数值
-
-
控制台演示:
2.2 哈希常用操作命令
-
HSET key field value
-
将哈希表 key 中的字段 field 的值设为 value
-
-
HGET key field
-
获取存储在哈希表中指定字段的值
-
控制台演示一下:
-
HDEL key field
-
删除存储在哈希表中的指定字段
-
-
HKEYS key
-
获取哈希表中所有字段
-
-
HVALS key
-
获取哈希表中所有值
-
-
HEXISTS key field
-
查看哈希表 key 中,指定的字段是否存在。
-
-
HGETALL key
-
获取所有键值对
-
以上命令我们一起全部在控制台演示一下: