概述
Redis的键值可以使用物种数据类型:字符串,散列表,列表,集合,有序集合。本文详细介绍这五种数据类型的使用方法。本文命令介绍部分只是列举了基本的命令,至于具体的使用示例,可以参考Redis官方文档:Redis命令大全
字符串类型字符串是Redis中最基本的数据类型,它能够存储任何类型的字符串,包含二进制数据。可以用于存储邮箱,JSON化的对象,甚至是一张图片,一个字符串允许存储的最大容量为512MB。字符串是其他四种类型的基础,与其他几种类型的区别从本质上来说只是组织字符串的方式不同而已。
基本命令 字符串操作- SET 赋值,用法:
SET key value
- GET 取值,用法:
GET key
- INCR 递增数字,仅仅对数字类型的键有用,相当于Java的i++运算,用法:
INCR key
- INCRBY 增加指定的数字,仅仅对数字类型的键有用,相当于Java的i+=3,用法:
INCRBY key increment
,意思是key自增increment,increment可以为负数,表示减少。 - DECR 递减数字,仅仅对数字类型的键有用,相当于Java的i–,用法:
DECR key
- DECRBY 减少指定的数字,仅仅对数字类型的键有用,相当于Java的i-=3,用法:
DECRBY key decrement
,意思是key自减decrement,decrement可以为正数,表示增加。 - INCRBYFLOAT 增加指定浮点数,仅仅对数字类型的键有用,用法:
INCRBYFLOAT key increment
- APPEND 向尾部追加值,相当于Java中的”hello”.append(“ world”),用法:
APPEND key value
- STRLEN 获取字符串长度,用法:
STRLEN key
- MSET 同时设置多个key的值,用法:
MSET key1 value1 [key2 value2 ...]
- MGET 同时获取多个key的值,用法:
MGET key1 [key2 ...]
- GETBIT 获取一个键值的二进制位的指定位置的值(0/1),用法:
GETBIT key offset
- SETBIT 设置一个键值的二进制位的指定位置的值(0/1),用法:
SETBIT key offset value
- BITCOUNT 获取一个键值的一个范围内的二进制表示的1的个数,用法:
BITCOUNT key [start end]
- BITOP 该命令可以对多个字符串类型键进行位运算,并将结果存储到指定的键中,BITOP支持的运算包含:OR,AND,XOR,NOT,用法:
BITOP OP desKey key1 key2
- BITPOS 获取指定键的第一个位值为0或者1的位置,用法:
BITPOS key 0/1 [start, end]
散列类型相当于Java中的HashMap,他的值是一个字典,保存很多key,value对,每对key,value的值个键都是字符串类型,换句话说,散列类型不能嵌套其他数据类型。一个散列类型键最多可以包含2的32次方-1个字段。
基本命令- HSET 赋值,用法:
HSET key field value
- HMSET 一次赋值多个字段,用法:
HMSET key field1 value1 [field2 values]
- HGET 取值,用法:
HSET key field
- HMGET 一次取多个字段的值,用法:
HMSET key field1 [field2]
- HGETALL 一次取所有字段的值,用法:
HGETALL key
- HEXISTS 判断字段是否存在,用法:
HEXISTS key field
- HSETNX 当字段不存在时赋值,用法:
HSETNX key field value
- HINCRBY 增加数字,仅对数字类型的值有用,用法:
HINCRBY key field increment
- HDEL 删除字段,用法:
HDEL key field
- HKEYS 获取所有字段名,用法:
HKEYS key
- HVALS 获取所有字段值,用法:
HVALS key
- HLEN 获取字段数量,用法:
HLEN key
列表类型(list)用于存储一个有序的字符串列表,常用的操作是向队列两端添加元素或者获得列表的某一片段。列表内部使用的是双向链表(double linked list)实现的,所以向列表两端添加元素的时间复杂度是O(1),获取越接近列表两端的元素的速度越快。但是缺点是使用列表通过索引访问元素的效率太低(需要从端点开始遍历元素)。所以列表的使用场景一般如:朋友圈新鲜事,只关心最新的一些内容。借助列表类型,Redis还可以作为消息队列使用。
基本命令- LPUSH 向列表左端添加元素,用法:
LPUSH key value
- RPUSH 向列表右端添加元素,用法:
RPUSH key value
- LPOP 从列表左端弹出元素,用法:
LPOP key
- RPOP 从列表右端弹出元素,用法:
RPOP key
- LLEN 获取列表中元素个数,用法:
LLEN key
- LRANGE 获取列表中某一片段的元素,用法:
LRANGE key start stop
,index从0开始,-1表示最后一个元素 - LREM 删除列表中指定的值,用法:
LREM key count value
,删除列表中前count个值为value的元素,当count>0时从左边开始数,count0时,会随机中集合中获取count个不重复的元素,当count关注打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?