1: redis的是key-value 数据库,value的数据类型有:
Lists (列表)
Sets (集合)
Sorted sets (有序集合)
Hashes (哈希表)
键值的数据类型决定了该键值支持的操作。Redis 支持诸如列表、集合或有序集合的交集、
并集、查集等高级原子操作;同时,如果键值的类型是普通数字,Redis 则提供自增等原子
操作。
2: strings 类型及操作
exists ljq //判断建是否存在 0 不存在 1
redis 127.0.0.1:6378> set ljq ljq
OK
redis 127.0.0.1:6378> get ljq
"ljq"
redis 127.0.0.1:6378> del ljq
(integer) 1
redis 127.0.0.1:6378> exists ljq
setnx ljq jljl // key存在, 不修改value,返回0
setex hello 10 red //set的value存在10s
redis 127.0.0.1:6378> get ljq
"ljq123"
redis 127.0.0.1:6378> setnx ljq jljl
(integer) 0
redis 127.0.0.1:6378> get ljq
"ljq123"
redis 127.0.0.1:6378> setex hello 10 red
OK
redis 127.0.0.1:6378> get hello
"red"
redis 127.0.0.1:6378> get hello
"red"
redis 127.0.0.1:6378> get hello
(nil)
setrange name 4 gmail,com // 范围修改 从1开始
mset h1 ljq1 h2 ljq2 // set多个
mset h1 ljqh1 h2 ljq222 // 修改多个
mget h1 h2 //获取多个key的值
getrange name 0 2 // 范围获取
redis 127.0.0.1:6378> get name
"ljq@qq.com"
redis 127.0.0.1:6378> setrange name 4 gmail,com
(integer) 13
redis 127.0.0.1:6378> get name
"ljq@gmail,com"
redis 127.0.0.1:6378> mset h1 ljq1 h2 ljq2
OK
redis 127.0.0.1:6378> get h1
"ljq1"
redis 127.0.0.1:6378> get h2
"ljq2"
redis 127.0.0.1:6378> mset h1 ljqh1 h2 ljq222
OK
redis 127.0.0.1:6378> get h1
"ljqh1"
redis 127.0.0.1:6378> get h2
"ljq222"
redis 127.0.0.1:6378> getset name
(error) ERR wrong number of arguments for 'getset' command
redis 127.0.0.1:6378> getset name
(error) ERR wrong number of arguments for 'getset' command
redis 127.0.0.1:6378> get name
"ljq@gmail,com"
redis 127.0.0.1:6378> getset name ljss
"ljq@gmail,com"
redis 127.0.0.1:6378> get name
"ljss"
原子操作
incr age //原子操作 加1
incrby age 6 //原子操作 加6
redis 127.0.0.1:6378> set age 12
OK
redis 127.0.0.1:6378> incr age
(integer) 13
redis 127.0.0.1:6378> incr age
(integer) 14
redis 127.0.0.1:6378> incr age
(integer) 15
redis 127.0.0.1:6378> incr age
(integer) 16
redis 127.0.0.1:6378> get age
"16"
redis 127.0.0.1:6378> incrby age 6
(integer) 22
redis 127.0.0.1:6378> get age
"22"
redis 127.0.0.1:6378> decr age
(integer) 21
redis 127.0.0.1:6378> decr age
(integer) 20
redis 127.0.0.1:6378> decrby 6
(error) ERR wrong number of arguments for 'decrby' command
redis 127.0.0.1:6378> decrby age 6
(integer) 14
redis 127.0.0.1:6378> get name
"ljss"
redis 127.0.0.1:6378> append name @qq.com
(integer) 11
redis 127.0.0.1:6378> get name
"ljss@qq.com"
redis 127.0.0.1:6378> strlen name
(integer) 11
redis 127.0.0.1:6378> get age
"14"
redis 127.0.0.1:6378> strlen age
(integer) 2
2: hashes类型及操作
redis的hashes是key-value键值对, 特别适合用于存储对象。相较于将对象的每个字段存成单个 string 类型。
将一个对象存储在 hash 类型中会占用更少的内存,并且可以更方便的存取整个对象。省内存的原因是新
建一个 hash 对象时开始是用 zipmap(又称为 small hash)来存储的。这个 zipmap 其实并不
是 hash table,但是 zipmap 相比正常的 hash 实现可以节省不少 hash 本身需要的一些元数据
存储开销。尽管 zipmap 的添加,删除,查找都是 O(n),但是由于一般对象的 field 数量都不太多。所以使用 zipmap 也是很快的,也就是说添加删除平均还是 O(1)。如果 field 或者 value的大小超出一定限制后,
Redis 会在内部自动将 zipmap 替换成正常的 hash 实现. 这个限制可以在配置文件中指定
hash-max-zipmap-entries 64 #配置字段最多 64 个,
hash-max-zipmap-value 512 #配置 value 最大为 512 字节
1: hset, hget
redis 127.0.0.1:6378> hset testhash key1 value1
(integer) 1
redis 127.0.0.1:6378> hget testhash key1
"value1"
redis 127.0.0.1:6378>
2:hsetnx
redis 127.0.0.1:6378> hsetnx testhash key1 ljq
(integer) 0
redis 127.0.0.1:6378> hget testhash key1
"value1"
redis 127.0.0.1:6378>
3:hmset, hmget set多个取多个
redis 127.0.0.1:6378> hmset myhash key1 vlaue1 key2 value2
OK
redis 127.0.0.1:6378> hmget myhash key1 key2
1) "vlaue1"
2) "value2"
4:hincrby 原子加
redis 127.0.0.1:6378> hset inhash key1 20
(integer) 1
redis 127.0.0.1:6378> hincr inhash key1
(error) ERR unknown command 'hincr'
redis 127.0.0.1:6378> hincrby inhash key1 5
(integer) 25
5:hexists, hlen 计算里面field的数量
redis 127.0.0.1:6378> hexists myhash key1
(integer) 1
redis 127.0.0.1:6378> hget myhash key1
"vlaue1"
redis 127.0.0.1:6378> hlen myhahs key1
(error) ERR wrong number of arguments for 'hlen' command
redis 127.0.0.1:6378> hlen myhah key1
(error) ERR wrong number of arguments for 'hlen' command
redis 127.0.0.1:6378> hlen myhash
(integer) 2
6: hdel删除一个key
redis 127.0.0.1:6378> hlen myhash
(integer) 3
redis 127.0.0.1:6378> hlen myhash key2
(error) ERR wrong number of arguments for 'hlen' command
redis 127.0.0.1:6378> hdel myhash key2
(integer) 1
redis 127.0.0.1:6378> hlen myhash
(integer) 2
7:获得所有的key 和value
redis 127.0.0.1:6378> hkeys myhash
1) "key1"
2) "key3"
redis 127.0.0.1:6378> hvals myhash
1) "vlaue1"
2) "value3"
redis 127.0.0.1:6378> hgetall myhash
1) "key1"
2) "vlaue1"
3) "key3"
4) "value3"
分享到:
相关推荐
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
铅酸电池失效仿真comsol
Java小程序项目源码,该项目包含完整的前后端代码、数据库脚本和相关工具,简单部署即可运行。功能完善、界面美观、操作简单,具有很高的实际应用价值,非常适合作为Java毕业设计或Java课程设计使用。 所有项目均经过严格调试,确保可运行!下载后即可快速部署和使用。 1 适用场景: 毕业设计 期末大作业 课程设计 2 项目特点: 代码完整:详细代码注释,适合新手学习和使用 功能强大:涵盖常见的核心功能,满足大部分课程设计需求 部署简单:有基础的人,只需按照教程操作,轻松完成本地或服务器部署 高质量代码:经过严格测试,确保无错误,稳定运行 3 技术栈和工具 前端:小程序 后端框架:SSM/SpringBoot 开发环境:IntelliJ IDEA 数据库:MySQL(建议使用 5.7 版本,更稳定) 数据库可视化工具:Navicat 部署环境:Tomcat(推荐 7.x 或 8.x 版本),Maven
Java小程序项目源码,该项目包含完整的前后端代码、数据库脚本和相关工具,简单部署即可运行。功能完善、界面美观、操作简单,具有很高的实际应用价值,非常适合作为Java毕业设计或Java课程设计使用。 所有项目均经过严格调试,确保可运行!下载后即可快速部署和使用。 1 适用场景: 毕业设计 期末大作业 课程设计 2 项目特点: 代码完整:详细代码注释,适合新手学习和使用 功能强大:涵盖常见的核心功能,满足大部分课程设计需求 部署简单:有基础的人,只需按照教程操作,轻松完成本地或服务器部署 高质量代码:经过严格测试,确保无错误,稳定运行 3 技术栈和工具 前端:小程序 后端框架:SSM/SpringBoot 开发环境:IntelliJ IDEA 数据库:MySQL(建议使用 5.7 版本,更稳定) 数据库可视化工具:Navicat 部署环境:Tomcat(推荐 7.x 或 8.x 版本),Maven
springboot124中药实验管理系统设计与实现,含有完整的源码和报告文档
解除劳动合同协议书
快速过滤图像融合Matlab代码.rar
强调图像中内核形状(例如直线)的过滤器Matlab代码.rar
在内网linux服务器安装redis 在Linux环境中离线安装Redis是常见的需求,尤其是在内网服务器上,由于无法直接访问公网,我们需要提前下载Redis的源码包并手动安装。下面将详细解释如何进行这一过程。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
微信小程序StartKitw_xapp-startkit
座位选择微信小程序版本
机械臂代码_Mechanical_arm
图像分割测试视频river-light.mp4
前端分析-2023071100789
labview源码参考示例,可供参考学习使用
MPC跟踪轨迹圆形(以后轴为基准)
MATLAB代码:基于主从博弈的智能小区代理商定价策略及电动汽车充电管理 关键词:电动汽车 主从博弈 动态定价 智能小区 充放电优化 参考文档:《基于主从博弈的智能小区代理商定价策略及电动汽车充电管理》基本复现 仿真平台:MATLAB+CPLEX gurobi平台 优势:代码具有一定的深度和创新性,注释清晰,非烂大街的代码,非常精品 主要内容:代码主要做的是一个电动汽车充电管理和智能小区代理商动态定价的问题,将代理商和车主各自追求利益最大化建模为主从博弈,上层以代理商的充电电价作为优化变量,下层以电动汽车的充电策略作为优化变量,通过优化得出最优电价策略以及动态充电策略,代码出图效果非常好,店主已经对代码进行了深入的加工和处理,出图效果非常好,代码质量非常高,保姆级的注释以及人性化的模块子程序,所有数据均有可靠来源,联系后会直接发您资料,保证您学得会,用的起来,简直是萌新福利
springboot154基于Spring Boot智能无人仓库管理,含有完整的源码和报告文档
Matlab领域上传的视频是由对应的完整代码运行得来的,完整代码皆可运行,亲测可用,适合小白; 1、从视频里可见完整代码的内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作