Redis 数据类型之string/list/hash

简介: 本文目录1. Redis中的键2. Redis中的值3. 字符串类型string4. 列表类型list5. 哈希类型hash

1. Redis中的键

Redis是键值型数据库,Redis中的键只有一个类型,就是字符串。


2. Redis中的值

Redis值支持的类型有以下几种:


字符串类型 string

列表类型 list

集合类型 set

有序集合类型 sorted set

哈希类型 hash

HyperLogLog类型

Geo类型

3. 字符串类型string

1、字符串类型的存取操作,注意set执行成功会返回OK。


127.0.0.1:6379> set name "maoge"

OK

127.0.0.1:6379> get name

"maoge"


2、如果键不存在,则返回nil。


127.0.0.1:6379> get test

(nil)


3、使用strlen可以获取字符串长度,当键不存在时返回0。


127.0.0.1:6379> strlen name

(integer) 5

127.0.0.1:6379> strlen test

(integer) 0


4、如果键已存在,再次执行set,则覆盖键对应的值。


127.0.0.1:6379> set name "maoge"

OK

127.0.0.1:6379> set name "halo"

OK

127.0.0.1:6379> get name

"halo"


5、使用setnx,当键不存在时为其设值,此时返回1;当键已存在则不改变键对应的值,返回0。


127.0.0.1:6379> setnx country "china"

(integer) 1

127.0.0.1:6379> get country

"china"

127.0.0.1:6379> setnx country "usa"

(integer) 0

127.0.0.1:6379> get country

"china"


6、使用mset/mget可以进行批量操作,这样可以节省客户端和服务器之间的通信开销。


127.0.0.1:6379> mset age "12" sex "man"

OK

127.0.0.1:6379> mget age sex

1) "12"

2) "man"


4. 列表类型list

常用操作如下:


lrange 显示指定索引范围的元素(从0开始算)

lpush 左侧插入元素,返回插入后列表长度

rpush 右侧插入元素,返回插入后列表长度

lpop 左侧弹出元素

rpop 右侧弹出元素

注意,向不存在的键插入元素,Redis会自动创建list;如果列表为空,Redis会自动回收该键。实例如下:


127.0.0.1:6379> lrange studetns 0 1

(empty list or set)

127.0.0.1:6379> lpush students "zhangsan"

(integer) 1

127.0.0.1:6379> rpush students "lisi"

(integer) 2

127.0.0.1:6379> lrange students 0 1

1) "zhangsan"

2) "lisi"

127.0.0.1:6379> lpop students

"zhangsan"

127.0.0.1:6379> rpop students

"lisi"

127.0.0.1:6379> lrange students 0 1

(empty list or set)


5. 哈希类型hash

注意Redis数据集本身即是一个hash结构,类似于java中的map。


此处的哈希类型,指的是,Redis键对应的值的部分,依然是一个哈希类型。


1、hset设置单个哈希字段的值


127.0.0.1:6379> hset city beijing "001"

(integer) 1

127.0.0.1:6379> hset city shanghai "002"

(integer) 1


2、hget获取单个哈希字段对应的值


127.0.0.1:6379> hget city beijing

"001"


3、hexists测试哈希字段是否存在


127.0.0.1:6379> hexists city beijing

(integer) 1

127.0.0.1:6379> hexists city tianjin

(integer) 0


4、hgetall获取哈希所有字段值


127.0.0.1:6379> hgetall city

1) "beijing"

2) "001"

3) "shanghai"

4) "002"


5、删除哈希字段


127.0.0.1:6379> hdel city beijing

(integer) 1

127.0.0.1:6379> hget city beijing

(nil)


6、批量设置、获取哈希字段


127.0.0.1:6379> hmset city nanjing "003" shenzhen "004"

OK

127.0.0.1:6379> hmget city nanjing shenzhen

1) "003"

2) "004"

相关文章
|
6月前
|
存储 NoSQL 定位技术
Redis数据类型面试给分情况
Redis常见数据类型包括:string、hash、list、set、zset(有序集合)。此外还包含高级结构如bitmap、hyperloglog、geo。不同场景可选用合适类型,如库存用string,对象存hash,列表用list,去重场景用set,排行用zset,签到用bitmap,统计访问量用hyperloglog,地理位置用geo。
155 5
|
6月前
|
NoSQL Java Redis
Redis基本数据类型及Spring Data Redis应用
Redis 是开源高性能键值对数据库,支持 String、Hash、List、Set、Sorted Set 等数据结构,适用于缓存、消息队列、排行榜等场景。具备高性能、原子操作及丰富功能,是分布式系统核心组件。
630 2
|
存储 缓存 NoSQL
解决Redis缓存数据类型丢失问题
解决Redis缓存数据类型丢失问题
513 85
|
10月前
|
NoSQL Redis
Redis的常用数据类型有哪些 ?
Redis 有 5 种基础数据结构,它们分别是:string(字符串)、list(列表)、hash(字典)、set(集 合) 和 zset(有序集合)
|
存储 NoSQL Redis
redis常见数据类型
Redis 是一种基于内存的键值存储数据库,支持字符串、哈希表、列表、集合及有序集合等多种数据类型,每种类型均有特定用途与适用场景,提供丰富的命令操作,适用于高速数据访问与处理。
234 5
|
NoSQL 安全 Java
Redis6入门到实战------ 三、常用五大数据类型(字符串 String)
这篇文章深入探讨了Redis中的String数据类型,包括键操作的命令、String类型的命令使用,以及String在Redis中的内部数据结构实现。
Redis6入门到实战------ 三、常用五大数据类型(字符串 String)
|
存储 缓存 NoSQL
深入理解Redis数据类型String原理
本文深入探讨了Redis中String数据类型的实现原理和使用场景,基于Redis 5.0版本进行分析。
深入理解Redis数据类型String原理
|
缓存 NoSQL Redis
Redis深度解析:核心数据类型之string
Redis 数据类型包括String、Hash、List、Set和Sorted Set。对于String类型的主要操作, 此外,还有通用的Key操作。
|
存储 NoSQL Java
【Redis】1、学习 Redis 的五大基本数据类型【String、Hash、List、Set、SortedSet】
【Redis】1、学习 Redis 的五大基本数据类型【String、Hash、List、Set、SortedSet】
327 0
|
存储 NoSQL 安全
Redis(四)-Redis的常用数据类型之String字符串
String是Redis的一个最基本的数据类型,一个key对一个一个value。 String 类型是二进制安全的,意味着Redis的String可以包含任何数据,比如jpg图片或者序列化的对象 String类型是Redis最基本的数据类型,一个Redis中字符串value最多可以是512MB。
187 0
Redis(四)-Redis的常用数据类型之String字符串

热门文章

最新文章