Redis自学笔记 --Hash、List、Set类型简述
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的所有元素,结果是无序的。
Redis自学笔记 --Hash、List、Set类型简述的更多相关文章
- Redis自学笔记–Zset类型及管理简述
Zset类型 ...
- Redis自学笔记:3.6入门-有序集合类型
3.6有序集合类型 3.6.1介绍 在集合类型基础上,为集合中每个元素都关联了一个分数,故可以获得 分数最高(最低)的前N个元素,可以获得指定范围内的元素等 有序集合中每个元素不同,但它们的分数却可以 ...
- Redis自学笔记:3.5入门-集合类型
3.5集合类型 3.5.1介绍 在集合中的每个元素都是不同的,且没有顺序 表3-4集合类型和列表类型的对比 - 集合类型 列表类型 存储内容 至多232-1个字符串 至多232-1个字符串 有序性 否 ...
- Redis自学笔记:3.4入门-列表类型
3.4列表类型 3.4.1介绍 列表类型可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素,或者 获得列表的某一片段. 优点:内部使用的是双向链表,所以向列表两端添加元素的时间复杂度为O(1 ...
- Redis自学笔记:3.3入门-散列类型
3.3散列类型 3.3.1介绍 散列类型不能嵌套其他数据类型,一个散列类型可以包含至多232-1个字段 散列类型适合存储对象:使用对象类别和ID构成键名,使用字段表示对象的数据, 而字段值则存储属性值 ...
- Redis自学笔记:3.2入门-字符串类型
3.2字符串类型 实际上redis不只是数据库,更多的公司和团队将redis用作缓存和 队列系统 3.2.1介绍 字符串类型是redis最基本的数据类型,它能存储任何形式的字符串, 包括二进制数据.你 ...
- Redis自学笔记 --string类型
string类型 set 赋值 get ...
- Redis自学笔记:5.实践
第5章实践 5.3 python与redis 5.3.1安装 pip install redis 5.3.2使用方法 自己补充内容:Ubuntu下redis开启远程连接 打开redis配置:sudo ...
- Redis自学笔记:1.简介
博主教材:李子骅.人民邮电出版社.<redis入门指南> 博主操作系统系统:虚拟机Ubuntu16.04 博主redis版本:3.0.6 第1章:简介 redis是一个开源的.高性能的.基 ...
随机推荐
- matlab绘制心形函数
matlab 7.0 绘制二维.三维心形函数 又到周六,下周就要迎来春节小长假了,想想都有些激动.在外漂了一整年,总于可以回家和父母团聚了,还有吃好吃的...,哎呀~想想都流口水呢.不过先 ...
- web服务端安全之SQL注入攻击
一.SQL注入攻击的原理攻击者在HTTP请求中,注入恶意的SQL代码,并在服务端执行.比如用户登录,输入用户名camille,密码 ' or '1'='1 ,如果此时使用参数构造的方式,就会出现 ' ...
- python opencv3 向图像里写字
git:https://github.com/linyi0604/Computer-Vision # coding:utf-8 import cv2 img = cv2.imread(".. ...
- Python Django 中的STATIC_URL 设置和使用解析
使用Django静态设置时,遇到很多问题,经过艰苦的Baidu, stack overflow, Django原档阅读,终于把静态图片给搞出来了.特记录下来. 关键的概念:Django中,静态资源的存 ...
- [BZOJ5298][CQOI2018]交错序列(DP+矩阵乘法)
https://blog.csdn.net/dream_maker_yk/article/details/80377490 斯特林数有时并没有用. #include<cstdio> #in ...
- Codeforces Round #358 (Div. 2) B. Alyona and Mex 水题
B. Alyona and Mex 题目连接: http://www.codeforces.com/contest/682/problem/B Description Someone gave Aly ...
- UVA 350 Pseudo-Random Numbers
Pseudo-Random Numbers Computers normally cannot generate really random numbers, but frequently are ...
- HDU 3161 Iterated Difference 暴力
Iterated Difference Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Othe ...
- 【scrapy】使用方法概要(一)(转)
[请初学者作为参考,不建议高手看这个浪费时间] 工作中经常会有这种需求,需要抓取互联网上的数据.笔者就经常遇到这种需求,一般情况下会临时写个抓取程序,但是每次遇到这种需求的时候,都几乎要重头写,特别是 ...
- #pragma mark 添加分割线 及 其它类似标记 - 转
#pragma marks Comments containing: MARK: TODO: FIXME: !!!: ???: 除了使用 #pragma mark -添加分割线之外, 以上几种标记均可 ...