Redis自学笔记 --Hash、List、Set类型简述

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
云数据库 Tair(兼容Redis),内存型 2GB
简介:

Hash类型                                                                                   

hset key field value

设置hash field为指定,如果key不存在,则先创建。

hget key field

获取指定的hash field。

hmget key filed1....fieldN

获取全部指定的hash filed。

hmset key filed1 value1 ... filedN valueN

同时设置hash的多个field。

hincrby key field integer

将指定的hash filed 加上给定值

hexists key field

测试指定field是否存在

hdel key field

删除指定的hash field。

hlen key

返回指定hash的field数量

hkeys key

返回hash的所有field

hvals key

返回hash的所有value

hgetall

返回hash的所有filed和value

List类型                                                                                   

lpush key string

在key对应list的头部添加字符串元素,返回1表示成功,0表示key存在且不是list类型。

rpush key string

尾部添加

llen key

返回key对应list的长度,key不存在返回0,如果key对应类型不是list返回错误。

lrange key start end

返回指定区间内的元素下标从0开始,负值表示从后面计算,-1表示倒数第一个元素 ,key不存在返回空列表。

ltrim key start end

截取list保留指定区间内元素,成功返回1,key不存在返回错误。

lset key index value

设置list中指定下标的元素值,成功返回1,key或者下标不存在返回错误。

lrem key count value

从key对应list中删除count个和value相同的元素。count为0时候删除全部。

lpop key

从list的头部删除元素并返回删除元素。如果key对应list不存在或者是空返回nil,如果key对应值不是list返回错误。

rpop

从尾部删除

blpop key1...keyN timeout

从左到右扫描返回对第一个非空list进行lpop操作并返回,比如blpop list1 list2 list3,如果list不存在list2,list3都是非空则对list2做lpop并返回从list2中删除的元素。如果所有的list都是空或不存在,则会阻塞timeout秒,timeout为0表示一直阻塞。如果超时发生,则返回nil。

rpoplpush srckey destkey

从srckey对应list的尾部移除元素并添加到destkey对应list的头部,最后返回被移除的元素值,整个操作是原子的.如果srckey是空或者不存在返回nil。

Set类型                                                                                   

sadd key member

添加一个string元素到,key对应的set集合中,成功返回1,如果元素以及在集合中返回0,key对应的set不存在返回错误。

srem key member

从key对应set中移除给定元素,成功返回1,如果member在集合中不存在或者key不存在返回0,如果key对应的不是set类型的值返回错误。

spop key

删除并返回key对应set中随机的一个元素,如果set是空或者key不存在返回nil。

srandmember key

同spop,随机取set中的一个元素,但是不删除元素smove srckey dstkey member 从srckey对应set中移除member并添加到dstkey对应set中,整个操作是原子的。成功返回1,如果member在srckey中不存在返回0,如果key不是set类型返回错误。

scard key

返回set的元素个数,如果set是空或者key不存在返回0。

sismember key member

判断member是否在set中,存在返回1,0表示不存在或者key不存在。

sinter key1 key2...keyN

返回所有给定key的交集

sunion key1 key2...keyN

返回所有给定key的并集

sunionstore dstkey key1...keyN

同sunion,并同时保存并集到dstkey下

sdiff key1 key2...keyN

返回所有给定key的差集

sdiffstore dstkey key1...keyN

同sdiff,并同时保存差集到dstkey下

smembers key

返回key对应set的所有元素,结果是无序的。




本文转自我爱物联网博客园博客,原文链接:http://www.cnblogs.com/yydcdut/p/3601425.html,如需转载请自行联系原作者

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
相关文章
|
4月前
|
存储 缓存 NoSQL
Redis中的常用命令-get&set&keys&exists&expire&ttl&type的详细解析
总的来说,这些Redis命令提供了处理存储在内存中的键值对的便捷方式。通过理解和运用它们,你可以更有效地在Redis中操作数据,使其更好地服务于你的应用。
324 17
|
11月前
|
存储 NoSQL 关系型数据库
Redis 集合(Set)
10月更文挑战第17天
110 5
|
9月前
|
存储 缓存 安全
只会“有序无序”?面试官嫌弃的List、Set、Map回答!
小米,一位热衷于技术分享的程序员,通过与朋友小林的对话,详细解析了Java面试中常见的List、Set、Map三者之间的区别,不仅涵盖了它们的基本特性,还深入探讨了各自的实现原理及应用场景,帮助面试者更好地准备相关问题。
160 20
|
10月前
|
存储 NoSQL PHP
如何用Redis高效实现点赞功能?用Set?还是Bitmap?
在众多软件应用中,点赞功能几乎成为标配。本文从实际需求出发,探讨如何利用 Redis 的 `Set` 和 `Bitmap` 数据结构设计高效点赞系统,分析其优缺点,并提供 PHP 实现示例。通过对比两种方案,帮助开发者选择最适合的存储方式。
274 3
|
11月前
|
存储 NoSQL 关系型数据库
Redis 有序集合(sorted set)
10月更文挑战第17天
244 4
|
11月前
|
存储 NoSQL Redis
Redis 哈希(Hash)
10月更文挑战第16天
143 1
|
11月前
|
存储 分布式计算 NoSQL
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
大数据-40 Redis 类型集合 string list set sorted hash 指令列表 执行结果 附截图
92 3
|
11月前
|
并行计算 Python
Python错误笔记(一):CUDA initialization: CUDA unknown error - this may be due to an incorrectly set up env
这篇文章讨论了CUDA初始化时出现的未知错误及其解决方案,包括重启系统和安装nvidia-modprobe。
1399 0
|
4月前
|
缓存 NoSQL 关系型数据库
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?