博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis数据类型(上)
阅读量:6590 次
发布时间:2019-06-24

本文共 2403 字,大约阅读时间需要 8 分钟。

数据类型 1.string(字符串) 2.hash(哈希,类似java里的Map) 3.list(列表) 4.set(集合) 5.zset(sorted set:有序集合) 6.基数 String(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。 string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。 string类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M Hash(哈希) Redis hash 是一个键值对集合。 Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。 类似Java里面的Map<String,Object> List(列表) Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边) 它的底层实际是个链表 Set(集合) Redis的Set是string类型的无序集合。它是通过HashTable实现实现的 zset(sorted set:有序集合) Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。 不同的是每个元素都会关联一个double类型的分数。 redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。 命令地址: Redis 键(key) 1. keys * 2. exists key的名字,判断某个key是否存在 3. move key db --->当前库就没有了,被移除了 4. expire key 秒钟:为给定的key设置过期时间 5. ttl key 查看还有多少秒过期,-1表示永不过期,-2表示已过期,即已被删除 6. type key 查看你的key是什么类型
String类型: 字符串是Redis的最基本额数据结构,以一个键和一个值存储在Redis内部 类似java的Map结构,通过键去找值
基本命令:
支持简单运算的命令:
下面是代码的测试流程:
getrange/setrange getrange:获取指定区间范围内的值,类似between......and的关系从零到负一表示全部,默认从0开始 0 -1:代表全部 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 都不存在。 否则不生效
链表List 链表结构是 Redis 中一个常用的结构,它可以存储多个字符串,而且它是有序的 Redis 链表是双向的,
使用链表结构就意味着读性能的丧失 链表只能从 个方向中去遍历所要节点 优势:在于插入和删除的便利 链表的数据节点是分配在不同的内存域的,并不连续
由此可见,链表结构的使用是需要注意场景的,对于那些经常需要对数据进行插入和 删除的列表数据使用它是十分方便的,因为它可以在不移动其他节点的情况下完成插入和 删除。而对于需要经常查找的,使用它性能并不佳,它只能从左到右或者从右到左的查找 和比对。
lpush/rpush/lrange lpush: 从链表的左边插入 rpush: 从链表的右边插入 lrange :查看链表的节点值 lrange list start end end=-1代表全部
lpop/rpop lpop:删除左边的第一个节点,并且将其返回 rpop:删除右边第一个节点,并且将其返回
lindex,按照索引下标获得元素(从上到下) lindex: lindex key index,索引从零开始 通过索引获取列表中的元素
llen 求链表的长度,返回长度
lrem key 删N个value * 从left往right删除2个值等于v1的元素,返回的值为实际删除的数量 * LREM list3 0 值,表示删除全部给定的值。零个就是全部值 lrem list 个数 节点值
ltrim key 开始index 结束index,截取指定范围的值后再赋值给key ltrim:截取指定索引区间的元素,格式是ltrim list的key 起始索引 结束索引 【start end】 开区间 会把截取的内容保存在原来的list中,默认截取位置从0 开始
rpoplpush 源列表 目的列表 移除列表的最后一个元素,并将该元素添加到另一个列表并返回 移除源列表的最后一个元素并且将其左插到目的列表中
lset key index value 给index出的索引修改值
linsert key before/after 值1 值2 在值1 前面/后面 插入值2
它是一个字符串链表,left、right都可以插入添加; 如果键不存在,创建新的链表; 如果键已存在,新增内容; 如果值全移除,对应的键也就消失了。 链表的操作无论是头和尾效率都极高,但假如是对中间元素进行操作,效率就很惨淡了。

转载于:https://juejin.im/post/5c038d2ff265da615f77049c

你可能感兴趣的文章
我所想的GIX4的权限
查看>>
Hbuilder--让手爽,飞一般的编码(二)
查看>>
后台统计
查看>>
React组件: 提取图片颜色
查看>>
3D应用开发中的欧拉角和旋转矩阵
查看>>
爬虫必备技能xpath的用法和实战
查看>>
MacOS下安装Grafana、InfluxData、telegraf
查看>>
RxJava2.0的初学者必备教程(九)
查看>>
记一次omi的项目之旅
查看>>
Android API级别、代号、发布时间及平台亮点整理
查看>>
安装配置nagios
查看>>
QQ第三方授权登录(带详细源码)
查看>>
LLDP(链路层发现协议)
查看>>
Ubuntu14 添加程序启动
查看>>
我的友情链接
查看>>
windows网络安全以及常见网络***方式
查看>>
警告 初始化默认驱动器时出错“找不到运行 Active Directory Web 服务的默认服务器。”...
查看>>
JS字符串转换数字
查看>>
centos7-修改主机名
查看>>
面试宝典系列-mysql面试基础题
查看>>