redis基本数据类型及命令
一.key相关命令
redis本质上是key-value数据库.所以key操作适用于redis的任何数据类型缓存.
1.exists key
判断是否存在key,存在返回1,不存在返回0
2.del key1 key2...keyN
删除指定key,返回删除key的数目;返回0表示给定key不存在
3.type key
返回给定key的value类型;返回none表示不存在;String为字符类型,list为链表类型;set为无序集合类型;
4.keys pattern
返回匹配指定模式的所有key
example:
keys *
keys key*
5.expire key seconds
设置返回key过期时间;单位为秒
6.ttl key
返回key的剩余过期时间,单位为秒数;-1表示未设置过期时间或未设置秒数
7.randomkey
随机返回当前库中的一个key
8.rename oldkey newkey
重命名key;如果oldkey不存在,返回错误消息;如果newkey存在,则被覆盖;
9.renamenx oldkey newkey
如果newkey存在,返回0,不会覆盖newkey值;失败返回错误消息
10.move key db-index
移动key到制定库
二.String类型
string是二进制安全的,可以保存图片视频等;
相关命令
1.set key value
2.setnx key value
如果key存在不会覆盖
3.get key
4.getset key value
获取key的值,不存在以value设置;如果key不存在,返回nil
5.mget key1 key2 key3
一次获取多个key的值
6.mset key1 value1 ... keyN valueN
一次设置多个key的值
7.msetnx key1 value1 ... keyN valueN
一次设置多个key的值,不覆盖已存在的key
8.incr key
对应key值+1
9.decr key
对应key值-1
10.incrby key integer
对应key值+integer
11.decrby key integer
对应key值-integer
三.list链表类型
list数据类型是指key对应的value是一个双向链表类型.
1.lpush key string
向key对应的list头部添加字符串元素
2.rpush key string
尾部添加元素
3.llen key
返回key对应lists长度
4.lrange key start end
返回指定区间内list的元素(start~end),下标从0开始,-1表示倒数最后一个元素;不会删除元素
5.ltrim key start end
截取指定区间内的元素,下标从0开始, 成功返回ok,失败返回错误消息;会删除元素
6.lset key index value
设置指定下标的值,下标从0开始,如果下标不存在,返回错误;
7.lrem key count value
从list的头部(count整数)或尾部(count负数)删除一定数量(count绝对值)的匹配value的元素
8.lpop key
从list头部删除一个元素并返回
9.rpop key
从list尾部删除一个元素并返回
10.blpop key1...keyN timeout
从左到右扫描key1到key2,对第一个非空list进行lpop操作并返回;如果所有list都为空或不存在,阻塞timeout秒,timeout为0表示一直阻塞.阻塞时,如果其他client对key1到key2的任意一个key进行push操作,阻塞解除并返回;如果超时发生,返回nil
11.rlpop key1...keyN timeout
同brlpop,不同的是blpop是从头部删除,lpop是尾部删除
*如果list中不存在元素,则这个key就会被删除掉.
*list适合做消息队列.
四.set类型
set类型是一种无序集合.
1.sadd key member
增加元素
2.srem key member
删除元素
3.spop key
删除并返回key中随机的一个元素
4.srandmember key
返回key中随机的一个元素,但是不删除
5.smove srckey detkey member
将元素member从srckey集合移动到detkey集合,操作是原子性的.
6.scard key
返回key的元素个数
7.sismember key value
判断元素是否存在,存在1,不存在0
8.smembers key
返回key中对应所有元素
*如果set中不存在元素,则这个key就会被删除掉
*set中元素如果相同,则会被覆盖;这是集合的特性
五.Sorted set类型(有序集合)
与set类型相似,都是string类型的集合,不同的是sorted set属于有序集合.可以构建一个优先级的队列
1.zadd key score member
添加元素member到集合,元素在集合中存在则更新对应的score
2.zrem key member
删除元素member
3.zincrby key incr member
增加对应元素的score,将其加incr值,并重新排序,返回更新后的score
4.zrank key member
返回指定元素在集合中的排名(下标),从小到大排序
5.zrevrank key member
同上,从大到小排序
6.zrange key start end
返回指定区间的元素,按score从小到大排序
7.zrevrange key start end
同上,从大到小排序
8.zrangebyscore key min max
返回集合中score值在给定范围内的元素
9.zcount key min max
返回集合中score值在给定范围内的元素数量
10.zcard key
返回元素数量
11.zremrangebyrank key min max
删除集合中排名在指定区间的元素
12.zremrangebyscore key min max
删除集合中score在指定区间的元素
*具体应用排行榜中按顶贴次数排序
伪代码:
a.初始化
zadd toprank 0 art_id_1
zadd toprank 0 art_id_2
zadd toprank 0 art_id_3
b.顶贴操作,如将art_id为3的文章顶贴一下
zincrby toprank 1 art_id_3
c.按顶贴从大到小排序(前10)
zrange toprank 0 9
六.Hash类型
hash类型的每个key对应一个HashTable,适合存储对象,如用户信息对象等;
1.hset key field value
设置key的field对应的value, 如果不存在设置,存在覆盖
2.hget key field
获取值
3.hmset key field1 value1 ... fieldN valueN
设置多个值
4.hmget key field1 ... fieldN
取多个值
5.hincrby key field1 integer
对key对应的field1增加interger值
6.hexists key field
判断key中是否存在field
7.hdel key field
删除key中对应的field字段
8.hlen key
返回key中对应的fields数目
9.hkeys key
返回对应的fields名称
10.hvals key
返回key中对应所有fields的value
11.hgetall key
返回key中对应的全部的field和value
redis基本数据类型及命令的更多相关文章
- Redis系列(二):Redis的数据类型及命令操作
原文链接(转载请注明出处):Redis系列(二):Redis的数据类型及命令操作 Redis 中常用命令 Redis 官方的文档是英文版的,当然网上也有大量的中文翻译版,例如:Redis 命令参考.这 ...
- Redis常用数据类型及命令
Redis数据类型 Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合). 注意: 命令的关键词,如set ...
- Redis之数据类型及命令
Redis(REmote DIctionary Server) 是一个遵守BSD协议.支持网络.可基于内存亦可持久化的日志型key-value存储系统. KEY 常用指令: 指令 注释 备注 exit ...
- Redis五大数据类型常用命令脑图
- redis常用数据类型与命令
注意:LPUSH 和LPOP按照栈进行操作,RPUSH和RPOP按照队列进行操作 zremrangebyscore key score开始 score结束//根据score删除 zremrangeb ...
- Redis的数据类型及其常用命令
快速入门Redis 首先安装redis: windows下安装redis Linux下安装redis 1. 什么是redis Redis属于nosql(非关系型数据库) 关系型数据库是基于关系表的数据 ...
- 【数据库】Redis(2)--Redis的常用数据类型及命令
1.Redis主要数据类型分类 Redis中存储数据常用的数据类型主要有五种:String.List.Set.Sorted Set.Hash,这五种数据结构在Redis中存储数据的命令掌握对于我们后期 ...
- 大数据学习day31------spark11-------1. Redis的安装和启动,2 redis客户端 3.Redis的数据类型 4. kafka(安装和常用命令)5.kafka java客户端
1. Redis Redis是目前一个非常优秀的key-value存储系统(内存的NoSQL数据库).和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list ...
- 解析Redis操作五大数据类型常用命令
摘要:分享经常用到一些命令和使用场景总结,以及对Redis中五大数据类型如何使用cmd命令行的形式进行操作的方法. 本文分享自华为云社区<Redis操作五大数据类型常用命令解析>,作者:灰 ...
随机推荐
- Mysql性能优化【转】
mysql的性能优化无法一蹴而就,必须一步一步慢慢来,从各个方面进行优化,最终性能就会有大的提升. Mysql数据库的优化技术 对mysql优化是一个综合性的技术,主要包括 表的设计合理化(符合3NF ...
- 高级数据查询SQL语法
接上一篇关系数据库SQL之基本数据查询:子查询.分组查询.模糊查询,主要是关系型数据库基本数据查询.包括子查询.分组查询.聚合函数查询.模糊查询,本文是介绍一下关系型数据库几种高级数据查询SQL语法, ...
- 2018多校第三场 hdu6331 M :Walking Plan
题目链接 hdu6331 自我吐槽,这场多校大失败,开局签到因输入输出格式写错,wa了3发.队友C题wa了1个小时,还硬说自己写的没错,结果我随便造了个小数据,他都没跑对.然后跑对了后又进入了无限的卡 ...
- Unicode与UTF-8互转(C语言实现) 基本原理
1. 基础 1.1 ASCII码 我们知道, 在计算机内部, 所有的信息最终都表示为一个二进制的字符串. 每一个二进制位(bit)有0和1两种状态, 因此八个二进制位就可以组合出 256种状态, 这被 ...
- 关于boostrapValidator动态添加字段(addField)验证的bug
每次码博客,都觉得自己怀才不遇,哎~脑袋有瑕疵,文笔拿不粗手,就直接上干货吧. 在使用boostrapValidator这个验证插件的时候,如果某一个字段是动态添加来的,我们需要调用方法:addFie ...
- wsgi的学习(2):uWSGI的概念
uWSGI是一个Web服务器,它实现了WSGI协议.uwsgi.http等协议.Nginx中HttpUwsgiModule的作用是与uWSGI服务器进行交换. 要注意 WSGI / uwsgi / u ...
- hdu 5125(LIS变形)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5125 题解: 这个题dp[i][0],dp[i][1]数组分别记录在第i个位置取a[i]和b[i]时 ...
- Visual Studio 2013下我常用的两个插件
随手记一下,我比较常用的两个插件,抛砖引玉. 代码高亮显示:SelectionHighlight.vsix 虚线插件:Indent Guides.vsix
- DotNetCore 笔记
最近公司框架升级到DotNetCore了,但是在用post请求的时候,发现页面的post data后台并没有接收到数据,经过调查发现,netcore用法和之前的MVC5不一样,想要接收post里的da ...
- 小白到web前端工程师需要学习哪些知识?
随着web3.0时代,那么web前端开发技术人才越来越吃香,而且web前端领域划分越来越细,对技术的需求越来越高,想学习web前端的人也是越来越多.那么,如何学习web前端知识?从哪开始?转型成为we ...