Redis的基本使用
- 添加key:
set
- 查看所有key:
key *
- 获取对应key的value:
get key
- 更换数据库:
select index
(Redis一共有16个数据库,默认为0号数据库) - 查看当前数据库的key-value的数量:
dbsize
- 清空数据库:
flushdb
或者flushall
Redis的五大数据类型
String(字符串)
- key-value类型
- string是二进制安全的,除了普通的字符串外,还可以存储图片等数据。其中string的最大值为512M。
- 对字符串的CURD操作:set(存在则修改,不存在则创建)/get/del
- 使用set可以同时指定key的存活时间:
setex key seconds value
相当于set key value
加上expire key seconds
mset
:一次设置一个或者多个键值对mget
:一次查询一个或者多个键值对
Hash(哈希)
- 一个key-value类型的集合,可以认为是一个string类型的field和value的映射表,适合存储对象。基本的CURD操作有hset/hget/hgetall/hdel
hset
:hset key field value
hget
:hget key field
- 可以使用
hmget
和hmset
来获取和设置多个field的值 hlen key
:统计一个哈希表中一共有多少个元素hexits key field
:判断field是否存在
List(列表)
-
List的本质是一个链表,元素按插入的顺序排序,元素可以插入到列表的头部或者尾部,并且元素的值可以重复。List的CURD操作:lpush/rpush/lrange/lpop/rpop/del
-
lpush key value1 value2……
:执行的操作如下图所示:使用的链表中的头插法。相应地,rpush
使用的则是尾插法。
-
lrange key start stop
: 返回List指定区间的元素,start
和stop
表示起始和结束元素的下标,元素下标从0开始(可以使用负数下标)。 -
lpop key
:从List的左边弹出元素并返回,原理如下图所示。rpop key
则是从List的右边弹出元素并返回,原理和lpop
类似,这里不再以图片形式给出。
-
del key
:删除当前key -
llen key
:返回key的长度,如果key不存在,则key被解释为空列表,返回0 -
如果key中的所有元素都被删除,则对应的key也会消失
Set(集合)
- string类型的无序集合,底层是哈希表结构。其中的元素是无序的,并且元素的值不能重复。
- Set的基本的CURD操作:sadd/smembers/sismember/srem
sadd key value1 value2
:向集合中添加元素smembers key
:取出集合中的所有值sismember key value
:判断值是否为集合中的成员,是则返回1,否则返回0srem key value
:删除集合中的某个值