(一)Redis——五大数据类型及基础知识
一位爱好技术的橘右京的哥哥橘左京
Redis——五大数据类型及基础知识(一)
- Redis
- 1.Redis命令
- 1.1 常用String命令
- 1.2 常用List命令
- 1.3 常用Hash命令
- 1.4 常用Set命令
- 1.5 常用Sorted set命令
- 总结
Redis
Redis是基于内存以key-value形式存储的非关系数据库,value支持String、list、set、zset、hash多种数据类型,字符串value最大为512MB,每一种数据类型都提供了不同的方法。具有持久化、过期时间、事务、哨兵等功能。
1.Redis命令
通用
1)keys * / keys XX*:查询所有key 或 匹配某前缀
2)flushall:清空所有key
3)clear:dos窗口清屏
1.1 常用String命令
1)mset:批量新增
2)mget:批量获取
3)append:字符串拼接
append key ‘XXX’
4)getrange:指定区间截取并获取 -1代表到最后
getrange key 0 5
5)setrange:指定索引替换值
setrange key 0 ‘J’
6)strlen:获取长度,中文字符会根据编码影响长度,单个字UTF-8占3个,GBK占两个
strlen key
7)NX/XX:
set key value NX|XX
①NX命令是当key不存在时,set才可生效;
②XX命令是当key存在时,set才可生效;
1.2 常用List命令
1)lpush/rpush:将value从左/从右依次写入
lpush key value1 value2 value3
2)lpop/rpop:将value从左/从右依次取出并删除元素
lpop key
3)lrange:将list值按照索引值顺序取(支持正反向索引)
lrange key 0 -1
4)lindex:将list值按照索引取值
lindex key -1
5)lset:替换list某索引的value(支持正反向索引)
lset key 索引值 value
6)linsert:在list的某个元素之前/之后插入元素
linsert key before/after pivot value
7)lrem:按次序删除list中几个名为XX的元素(支持正反向索引)
lrem key count value
8)ltrim:删除不在指定区间内的数据
ltrim key 1 -2
1.3 常用Hash命令
1)hset:单个写入数据
hset key name value
2)hget:单个获取数据
hget key name
3)hkeys:获取Key下Hash中所有的Key
hkeys key
4)hvals:获取Key下Hash中所有的Value
hvals key
5)hgetAll:获取Key下Hsah中所有Key Value
hgetAll key
6)hmset:批量写入数据
hmset key name1 value1 name2 value2 name3 value3
7)hmget:批量获取数据
hmget key name1 name2 name3
8)hincrby / hincrbyfloat:对Hash中数值类型Value执行计算
hincrbyfloat key field 值
1.4 常用Set命令
1)sadd:写入数据
sadd key value1 value2 value3
2)smembers:获取元素
smembers key
3)sinter:获取多个集合的交集
sinter key1 key2
4)sinterstore:获取多个集合的交集并赋值给一个key
sinterstore destination key1 key2
5)sunion:获取并集
sunion key1 key2
6)sdiff:获取差集
sdiff key1 key2
7)srandmember:随机获取集合中的元素
srandmember key count
①count为正数,取出元素若超出集合元素数量,不可重复取值,最多取出集合最大个数
②count为负数,取出元素若超出集合元素数量,可重复取值
8)spop:取出一个值并删除
hincrbyfloat key field
9)spop:取出一个值并删除
hincrbyfloat key field 值
1.5 常用Sorted set命令
1)zadd:写入数据
zadd key score1 value1 score2 value2
2)zrange:获取member / 获取score及member
zrange key 起始索引 结束索引
zrange key 起始索引 结束索引 withscores
3)zrevrange:倒叙获取member / 倒叙获取socre及member
zrevrange key 起始索引 结束索引
zrevrange key 起始索引 结束索引 withscores
4)zrangbyscore:根据socre获取起止分数内的member/score及member
zrangebyscore key 19 22
zrangebyscore key 19 22 withscores
5)zsore:根据member取出socre
zscore key member
6)zrank:根据member获取排名
zrank key member
7)zincrby:针对socre计算
zincrby key increment member
8)zunionstore:求多个key并集
zunionstore destination numkey key1 key2 :重复的member的score值相加
zunionstore destination numkey key1 key2 weights 1 0.5:赋0.5权重的key中score值/2操作,再与重复的相加
zunionstore destination numkey key1 key2 aggregate max:求并集并且取score最大值
总结
Redis提供了五大数据类型,解决了不同场景下数据的存储,在开发中要利用合理利用不同的数据格式,能够最大程度上节省内存空间,提升效率,
(一)Redis——五大数据类型及基础知识相关推荐
- note.. redis五大数据类型
redis 五大数据类型使用 nosql介绍,由来 什么是nosql 阿里巴巴的架构 nosql 四大分类 redis入门 概述 redis 安装 (docker) 基础的知识 redis五大数据类型 ...
- Redis五大数据类型与使用场景汇总!!(含完整实战案例,建议收藏)
本文全面讲述了Redis的五大数据类型和使用场景,含完整实战案例,强烈建议收藏!! 大家好,我是冰河~~ 最近面试跳槽的小伙伴有点多,给我反馈的面试情况更是千差万别,不过很多小伙伴反馈说:面试中的大部 ...
- Redis命令总结及其基础知识讲述
Redis命令总结及其基础知识讲述 1.redis的不同之处 Redis拥有其他数据库不具备的数据结构,又拥有内存存储(这使得redis的速度非常快),远程操作(使得redis可以与多个客户端和服务器 ...
- Redis五大数据类型
Redis五大数据类型 Redis数据类型 key + Østring Øset Ølist Øhash Øzset Redis五大数据类型 --Key Ø keys * • 查询当前库的所有键 Ø ...
- Redis五大数据类型常用命令
Redis五大数据类型 Redis-Key 1.查看当前数据库的key keys * #返回当前数据库下的所有key 2.设置key set key value 3.获取key的value get k ...
- Redis五大数据类型(字符串对象(string)、列表对象(list)、哈希对象(hash)、无序集合(set)和Sorted Set数据类型(zset有序集合))
Redis五大数据类型 一.String(字符串)数据类型 1.SET/GET/APPEND/STRLEN 2.INCR/DECR/INCRBY/DECRBY 3.GETSET 4. SETEX 5. ...
- 【数据存储】【Redis】第三章: Redis五大数据类型实现原理
Redis五大数据类型实现原理 对于五大数据类型(String,list,Hash,Set,Zset)实现原理,Redis在底层用到了多种数据结构,通过数据结构来实现键值对,将数据结构创建了一个对象r ...
- 【Redis五大数据类型】
Redis五大数据类型 前言 一.字符串String 1. set / get / del / append / strlen 2. incr / decr / incrby / decrby 3. ...
- redis学习-redis五大数据类型
五大数据类型简介 String(字符串) string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value. 也就是例子中的k1 v1,k2 v2 s ...
最新文章
- 采用fdisk在linux进行分区操作
- 基于概率论的分类方法—朴素贝叶斯
- java nginx tomcat_Nginx + Tomcat (java )服务器部署
- mybatis generator使用总结
- R Markdown 使用方法笔记
- Android Studio生成签名文件和自动签名
- 支持x86架构的通用计算机,X86架构模式
- php使用switch语句编写程序,PHP控制语句之“switch”语句实例详解
- 神经网络搭建六步法扩展
- 凝胶渗透色谱的基本概念(一)
- Unity Spine 换装方案
- unity学习手记之角色动画
- 水下光通信实现(1)----LED驱动电路
- 计算机存储容量用K还是KB,计算机中容量单位B、KB、MB、GB和TB的关系
- Q3亏损收窄预计Q4季度实现盈利,趣头条走上盈利分水岭靠什么?
- html 超链接打开Excel,excel超链接打不开解决方法
- leetcode 174:地下城游戏
- 【tensorflow学习】Ftrl学习
- 中国35岁以上的程序猿哪去了?,基于android的app开发详细步骤
- Vue实现仿微信,如飘柔般顺滑的页面转场动画
热门文章
- android自定义刻度线,Android自定义控件之刻度尺控件
- CI持续集成系统环境---部署gerrit环境完整记录
- Unitimes程序员活动-戏精剧本杀
- cmd设置总是置顶_怎么将想要的窗口一直置顶 原来只要这简单的一步
- 数学考140,英语考70的感悟----《超级考验经验〉转贴
- ios设备使用socks代理_iOS 使用socks5代理服务器
- 教师资格证查询找不到服务器怎么办,教师资格证成绩查询页面打不开怎么办?...
- HTML中清除浮动的几种方法
- 手工检测SQL注入漏洞
- Spring Cloud Gateway 不小心换了个 Web 容器就不能用了,我 TM 人傻了