redis学习之——五大基本数据类型
redis 键 (key)
基本数据类型:string 字符串 list (列表) set(集合) hash(类似java 中的Map) zset(有序集合)
redis 键 (key)
keys *
exists key的名字,判断某个key是否存在
move key db:当前库就没有了,被移除了
expire key 秒钟:为给定的key设置过期时间
ttl key 查看还有多少秒过期,-1表示永不过期,-2表示已过期
type key 查看你的key是什么类型
一、string 字符串
String(字符串)
string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。
string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或用者序列化的对象 。
string类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M
命令:set:设置key-value
get:获取key的 val
del: 删除
append 追加val
strlen: 判断长度
命令:Incr:数字的递增 decr 数字的递减 incrby 每次按几递增 decrby每次按几递减
命令 getrange setrange
getrange:获取指定区间范围内的值,类似between......and的关系
从零到负一表示全部
setrange 设置指定区间范围内的值,格式是setrange key值 具体值
命令 setex(set with expire)键秒值/setnx(set if not exist)
setex:设置带过期时间的key,动态设置。setex 键 秒值 真实值
setnx:只有在 key 不存在时设置 key 的值。
命令mset/mget/msetnx
mset:同时设置一个或多个 key-value 对。
mget:获取所有(一个或多个)给定 key 的值。
msetnx:同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。
命令getset(先get再set)
getset:将给定 key 的值设为 value ,并返回 key 的旧值(old value)。
简单一句话,先get然后立即set
列表(list)
lpush rpush lrange
lpop rpop lindex,按照索引下标获得元素(从上到下) llen :list长度
lrem key 删N个value
ltrim key 开始index 结束index,截取指定范围的值后再赋值给key (ltrim:截取指定索引区间的元素,格式是ltrim list的key 起始索引 结束索引)
rpoplpush 源列表 目的列表(移除列表的最后一个元素,并将该元素添加到另一个列表并返回)
lset key index value
linsert key before/after 值1 值2 (在list某个已有值的前后再添加具体值)
集合(set)
sadd 添加set集合 smembers 查看集合元素 sismember查看集合是否存在
scard 获取集合里面的元素个数
srem key value 删除集合中元素
srandmember key 某个整数(随机出几个数) (
* 从set集合里面随机取出2个
* 如果超过最大数量就全部取出,
* 如果写的值是负数,比如-3 ,表示需要取出3个,但是可能会有重复值。
)
spop key 随机出栈
smove key1 key2 在key1里某个值 作用是将key1里的某个值赋给key2
差集:sdiff
交集:sinter
并集:sunion
哈希(Hash)
hset 设置单个Hash键值 get 获取单个Hash键值 hmset 设置多个Hash键值 hmget 获取多个Hash键值
hgetall 获取全部 hlen hash长度
hexists key 在key里面的某个值的key
hkeys 获取hash key hvals 获取hash value
hincrby (hash值按几增涨) hincrbyfloat(按小数:如0.5增涨)
hsetnx 不存在赋值,存在了无效。
有序集合Zset(sorted set)
zadd/zrange
zrangebyscore key 开始score 结束score
zrevrangebyscore key 结束score 开始score (zrevrangebyscore zset1 90 60 withscores 分数是反着来的)
zrem key 某score下对应的value值,作用是删除元素
(
删除元素,格式是zrem zset的key 项的值,项的值可以是多个
zrem key score某个对应值,可以是多个值
)
zcard/zcount key score区间/zrank key values值,作用是获得下标值/zscore key 对应值,获得分数(
zcard :获取集合中元素个数
zcount :获取分数区间内元素个数,zcount key 开始分数区间 结束分数区间
zrank: 获取value在zset中的下标位置
zscore:按照值获得对应的分数
)
zrevrank key values值,作用是逆序获得下标值 (正序、逆序获得下标索引值)
zrevrange 获取逆转结果
注意:这只是一些常用命令,其他的大家自行到官方doc学习
redis学习之——五大基本数据类型的更多相关文章
- Redis学习笔记--五种数据类型的使用场景
String 1.String 常用命令: 除了get.set.incr.decr mget等操作外,Redis还提供了下面一些操作: 获取字符串长度 往字符串append内容 设置和获取字符串的某一 ...
- Redis学习(4)-数据类型,string,hash
Redis数据类型: redis使用键值对保存数据 key:全部是字符串 value:五种数据类型:string,hash,List,Set,有序的Set集合. key命名:自定义,名字不要过长,否则 ...
- Redis 学习笔记-5种数据类型的基本操作
1.string类型 基本操作列表: GET 获取指定键对应的值 SET 设定键值 DEL 删除指定键对应的值(对所有数据类型都有效) > set hello world OK > get ...
- Redis学习笔记~目录
回到占占推荐博客索引 百度百科 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合). ...
- redis学习(七)——五大数据类型总结:字符串、散列、列表、集合和有序集合
目录 字符串类型(String) 散列类型(Hash) 列表类型(List) 集合类型(Set) 有序集合类型(SortedSet) 其它命令 一.字符串类型(String) 1.介绍: 字符串类型是 ...
- 3 Redis 的常用五大数据类型
2016-12-21 14:54:20 该系列文章链接NoSQL 数据库简介Redis的安装及及一些杂项基础知识Redis 的常用五大数据类型(key,string,hash,list,set,zse ...
- Redis学习笔记(三)Redis支持的5种数据类型的总结
继续Redis学习笔记(二)来说说剩余的三种数据类型. 三.列表类型(List) 1.介绍 列表类型可以存储一个有序的字符串列表,常用的操作是向列表两端添加元素,或者获得列表的一段片段.列表类型内部是 ...
- Redis学习笔记(二)Redis支持的5种数据类型的总结之String和Hash
引言 在Redis学习笔记(一)中我们已经会安装并且简单使用Redis了,接下来我们一起来学习下Redis支持的5大数据类型. 简介 Redis是REmote DIctionary Server(远程 ...
- Redis学习笔记(二) Redis 数据类型
Redis 支持五种数据类型:string(字符串).list(列表).hash(哈希).set(集合)和 zset(有序集合),接下来我们讲解分别讲解一下这五种类型的的使用. String(字符串) ...
随机推荐
- Linux 笔记2
1.linux的usr目录相当于windows下Program Files目录,存放的应用程序2.在centos 6.4按ctrl+alt+F2切换到命令行,ctr+alt+F8切换到图像界面,ctr ...
- Linux 升级内核开启 TCP BBR 有多大好处
前言 如果你有订阅一些科技新闻,应该会有看过内核在4.9当中加入了一个新的算法,来解决在有一定的丢包率的情况下的带宽稳定的问题,这个是谷歌为我们带来的干货,新的 TCP 拥塞控制算法 BBR (Bot ...
- MYSQL学习(三) --索引详解
创建高性能索引 (一)索引简介 索引的定义 索引,在数据结构的查找那部分知识中有专门的定义.就是把关键字和它对应的记录关联起来的过程.索引由若干个索引项组成.每个索引项至少包含两部分内容.关键字和关键 ...
- SQL SERVER 数据库自动备份及定期删除设置步骤
现在任何的软件都离不了一个数据库,数据的利用价值越来越大,为了避免数据宕机造成的数据丢失情况的产生,定期对数据库进行备份是必须要做的工作,下面将介绍SQL Server自带的数据库备份方法,希望可以帮 ...
- 使用create-react-app 搭建react + ts + antd框架
一.创建项目 使用npx create-react-app (项目名) --template typescript 创建项目 ①如果App.tsx文件有如下报错: (没有报错的请忽略) 需要将tsco ...
- JVM(一)-JVM入门
JVM的定义: JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的 ...
- Poem Codes - 攻防世界(Decrypt-the-Message)
Poem Codes Poem Code 最显著的特点就是一首诗歌. 详情请戳这里 让我们一起来过滤一遍这个神奇的加密过程~ ① 给出一首诗歌 for my purpose holds to sail ...
- 3种终极方法,彻底解决CDR不显示缩略图!
站长所在的印刷出版行业,一般都是使用版本较低的CDR软件,以便更好的兼容出版厂,不然新版本的文件发厂出片时却打不开,而转低版本的话又容易出错.从最开始的 CorelDRAW 9 到现在的 CORELD ...
- css3系列之详解box-shadow
box-shadow box-shadow呢 是设置元素的阴影效果的,利用这个属性,可以设计很多很炫丽的效果,不信? 等下,学完,我们就来完成下面这两个效果 首先 先了解一下,box-shadow 的 ...
- ios中多线程GCD NSOperation NSThread 相关的操作解析
//1.GCD 继承自C语言 优点 简单方便 //开启一个子线程处理耗时的操作 dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIO ...