Redis常用命令

本文详细介绍Redis支持的五种数据类型:String(字符串)、Hash(哈希)、List(列表)、Set(集合)及Sorted Set(有序集合)。每种类型都附带了常用的命令示例,便于理解如何操作这些数据结构。

Redis

一、数据结构

Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。

1、操作String(字符串)数据常用命令

set username john  //设置username的值为john
get username       //获取username的值,返回值为john

自增操作
set age 18
incr age           //对age进行加1操作
incrby age 5       //对age进行加5操作


自减操作
decr age           //对age进行减1操作
decrby age 3       //对age进行减3操作

2、hash(哈希)数据常用命令

hash数据结构是String类型的key--value的键值的map

设置一个值
hset myhash username lili  //在myhash中存入username的值为lili

设置多个值
hmset myhash age 20 sex man //在myhash中存入多个值,设置age为20,设置sex为man

获取一个值
hget myhash username       //从myhash中获取username的值,返回值为lili

获取多个值
hmget myhash username age  //从myhash中获取username以及age的值,返回值为lili和20

获取所有的key和value
hgetall myhash             //依次返回key和value

获取所有的key
hkeys myhash               //返回所有的key

获取所有的key对应的value
hvals myhash               //返回当前myhash中所有key对应的value值列表

获取myhash的长度
hlen myhash                //返回myhash的长度,这里存了三个key和value键值对,返回值为3

删除key的value
hdel myhash username       //删除myhash中key为username的value,返回值为1

删除多个key和value
hdel myhash age sex        //删除myhash的age和sex的value,返回值为2,表示两个操作成功

删除hash
del myhash                 //返回值为1表示删除myhash成功,返回值为0表示没有当前hash数据

假如这里还没有删除age的值,这里对age进行自增操作
hincr myhash age           //对age的值进行加1操作
hincrby myhash age 5       //对age的值加5操作

判断key和value是否存在
hexists myhash age         //返回值为1,表示存在
hexists myhash password    //返回值为0,表示不存在这样的key,因为本身就没设置password

 3、list数据结构

//添加数据到list数据结构中
lpush mylist 1 2 3                     //添加1  2   3到mylist中

rpush mylist a b c                     //添加a  b   c到mylist中

两者区别:lpush是向最前面添加,rpush向最后面添加,因此,mylist的数据最后结果是3 2 1 a b c 



注意:假设一下操作没有改变原有mylist数据结构,既每一个操作之后,mylist数据恢复原样3 2 1 a b c



//从list中弹出数据
lpop mylist                            //从mylist中弹出一个数据

rpop mylist                            //从mylist中弹出一个数据

两者区别:lpop从mylist最前面弹出,既索引为0的元素,rpop从mylist中最末尾弹出一个数据,既索引为5

修改指定索引位置的元素的值
lset mylist 2 hello                    //修改索引为2的元素的值为hello

从一个list中弹出一个数据加入到另一个list中的操作
lpush mylist1 5 6 7

lpoprpush mylist mylist1               //从mylist中弹出索引为0的元素加入到mylist1的末尾位置,操作完成后mylist结果为2 1 1 b c ,mylist1的结果为7 6 5 3

返回制定区间元素
lrange mylist1 0 -1                   //返回的是mylist1中所有的元素

lrange mylist1 1 2                    //返回的是索引从1到2的区间所有元素

根据参数 count 的值,移除列表中与参数 value 相等的元素。
语句为:lrem list count value

count > 0 : 从表头开始向表尾搜索,移除与 value 相等的元素,数量为 count 。
count < 0 : 从表尾开始向表头搜索,移除与 value 相等的元素,数量为 count 的绝对值。
count = 0 : 移除表中所有与 value 相等的值。

lrem mylist 1(count) 3(value)     //移除列表中1个value值为3的,从表头开始搜索
lrem mylist -1 3                     //移除列表中1个value值为3的,从表末尾开始搜索
lrem mylist 0 3                      //移除列表中所有value值为3的元素

向列表中某一个元素前或者后插入一个新元素
linsert mylist before 3 8            //在列表中第一个3前面插入一个8
linsert mylist after 3 8             //在列表中第一个3后面插入一个8
注意:linsert命令只会在列表的第一个指定元素前后者后插入新元素,如果有重复元素,后面的元素前或者后不会插入指定元素,只对第一个指定元素有效          

4、set数据结构

set数据结构和list不同,不能存入重复元素,既元素不重复

添加元素
sadd myset 1 2 3 a b c                  //向myset中存入1 2 3 a b c 六个元素

查看集合中所有元素值
smembers myset                          //返回所有值的列表,分别是1 2 3 a b c

删除集合中指定的一个或多个元素
删除一个元素
srem myset 2                            //删除集合中的2
srem myset a b                          //删除集合中的a和b两个元素

判断元素是不是集合中的元素
sismember myset 1                       //判断成员1是不是myset中的元素,如果是返回1,如果不是返回0

以下对两个集合进行操作
sadd mya1 a b c d 1 2 3
sadd mya2 b 2
sadd mya3 a 1 2

1)两个集合的差集
sdiff mya1 mya2               //mya1和mya2的差集,以前面一个集合为准,返回的结果为a c d 1 3
sdiff mya1 mya3               //mya1和mya3的差集,返回的结果为b c d 3

2)两个集合的交集
sinter mya1 mya2              //mya1和mya2的交集,返回的结果是b 2
sinter mya2 mya3              //mya2和mya3的交集,返回的结果是2

3)两个集合的并集
sunion mya2 mya3              //mya2和mya3的并集,返回结果是a b 1 2

返回集合中元素的基数(元素数量)
scard mya1                    //返回的是6,表示集合mya1的元素数量是6个

随机返回集合的一个元素
srandmember mya1             //随机返回mya1中的一个元素,对集合mya1不做任何改动

随机返回多个元素
srandmember mya1 count
这里
1)如果count大于0且count小于集合的基数,则随机返回count个不重复的元素
2)如果count大于等于集合基数,则返回整个集合
3)如果count为负数,则随机返回count绝对值个元素,且元素可重复

srandmember mya1 3           //随机返回三个不重复的元素
srandmember mya1 8           //count的值大于等于集合基数,直接返回整个集合mya1
srandmember mya1 -4          //返回四个元素,这四个元素中的元素可重复
srandmember mya1 -10         //随机返回10个元素,元素可以重复

将连个集合的差集保存在指定集合里,如果指定集合中存在key,则覆盖
sdiffstore mysets mya1 mya2     //将mya1和mya2的差集保存在mysets中,mysets的结果为a c d 1 3

将两个集合的交集保存在指定集合中如果指定集合中存在key,则覆盖
sinterstore mysets2 mya1 mya2   //将mya1和mya2的交集保存在mysets2中,mysest2的结果为b 2

连个集合的并集保存字指定集合中,如果指定集合中存在key则覆盖
sunionstore mysets3 mya2 mya3   //将mya2和mya3的并集保存在mysets3中,mysets3的结果为a b 1 2

5、Sorted-set数据结构

Sorted-set和set的区别是,set无序的,不重复的,Sorted-set是有序的,不重复的

添加一个元素
语法:zadd key score member
zadd mysort 100 zs

添加多个元素
zadd mysort 90 ls 95 ww

返回score和member列表,分数由低到高
zrange myscore 0 -1 withscores             //返回的是分数从低到高的member和score列表

返回score和member列表,分数由高到低
zrevrange myscore 0 -1 withscores          //返回的是分数从高到低的member和score列表

范围查询member
zrange myscore 0 -1                   //查询所有成员member,由分数从低到高排序

返回当前成员个数
zcard myscore                         //这里有三个成员,返回值为3

删除3个成员,从分数最低的开始
zremrangebyrank myscore 0 3

删除分数在90到95之间的成员,包括90和95分的
zremrangebyscore myscore 90 95

返回分数在0-100之间的所有成员,包括0和100,按分数由低到高排序
zrangebyscore myscore 0 100

返回分数在0-100之间的所有成员和分数,包括0和100,按分数和成员由低到高排序
zrangebyscore myscore 0 100 wirhscores

返回分数在0-100之间的所有成员和分数,从分数最低的开始,取两个,分数包括0和100,按分数和成员由低到高排序,
zrangebyscore myscore 0 100 wirhscores limit 0 2          //limit相当远mysql中的limit,前面一个数字代表偏移量,从第几个开始,0表示从分数最低的开始取,后面一个表示区间,表示取两个

给定成员加指定分数
zincrby myscore 10 ls                 //给ls分数加10

获取指定成员分数
zscore myscore ls                     //查询ls的分数

指定分数区间成员数量
zcount myscore 80 100                 //80-100分之间的成员数量

二、Keys通用操作

匹配数据库中所有的key
keys *

删除key
del key1 key2 keye key...                     //删除多个指定key,返回值为成功删除key的个数

重命名
rename key newname                            //将key进行重命名操作,如果newname存在,则将其值覆盖
renamenx key newname                          //如果newname不存在返回1,如果存在返回0,

获得以my开头的key
keys my*                  //通配多个任意字符
keys my?                  //通配单个任意字符

通配括号内的某一个字符
keys pas[adfsopq]word     //比如password,pasaword,pasfword

返回随机key
randomkey

判断key是否存在
exists key                //存在返回1,不存在返回0

查询key的类型
type key                  //返回值有string,hash,set,list

设置key的生命周期
pexpire key times              //单位是毫秒值
expire key times               //单位是秒

查看key的生命周期
ttl key                        //返回的是秒值
pttl key                       //返回声明周期,单位是毫秒

设置key永久有效
persist key                    //设置成功返回1

选择第n个数据库
select n                       //选择第n个数据库,redis默认打开16个数据库,编号从0-15,可在配置文件里修改,默认使用的是0号数据库

移动key到指定数据库
move key n                     //将key移动到第n个数据库

 

标题SpringBoot智能在线预约挂号系统研究AI更换标题第1章引言介绍智能在线预约挂号系统的研究背景、意义、国内外研究现状及论文创新点。1.1研究背景与意义阐述智能在线预约挂号系统对提升医疗服务效率的重要性。1.2国内外研究现状分析国内外智能在线预约挂号系统的研究与应用情况。1.3研究方法及创新点概述本文采用的技术路线、研究方法及主要创新点。第2章相关理论总结智能在线预约挂号系统相关理论,包括系统架构、开发技术等。2.1系统架构设计理论介绍系统架构设计的基本原则和常用方法。2.2SpringBoot开发框架理论阐述SpringBoot框架的特点、优势及其在系统开发中的应用。2.3数据库设计与管理理论介绍数据库设计原则、数据模型及数据库管理系统。2.4网络安全与数据保护理论讨论网络安全威胁、数据保护技术及其在系统中的应用。第3章SpringBoot智能在线预约挂号系统设计详细介绍系统的设计方案,包括功能模块划分、数据库设计等。3.1系统功能模块设计划分系统功能模块,如用户管理、挂号管理、医生排班等。3.2数据库设计与实现设计数据库表结构,确定字段类型、主键及外键关系。3.3用户界面设计设计用户友好的界面,提升用户体验。3.4系统安全设计阐述系统安全策略,包括用户认证、数据加密等。第4章系统实现与测试介绍系统的实现过程,包括编码、测试及优化等。4.1系统编码实现采用SpringBoot框架进行系统编码实现。4.2系统测试方法介绍系统测试的方法、步骤及测试用例设计。4.3系统性能测试与分析对系统进行性能测试,分析测试结果并提出优化建议。4.4系统优化与改进根据测试结果对系统进行优化和改进,提升系统性能。第5章研究结果呈现系统实现后的效果,包括功能实现、性能提升等。5.1系统功能实现效果展示系统各功能模块的实现效果,如挂号成功界面等。5.2系统性能提升效果对比优化前后的系统性能
在金融行业中,对信用风险的判断是核心环节之一,其结果对机构的信贷政策和风险控制策略有直接影响。本文将围绕如何借助机器学习方法,尤其是Sklearn工具包,建立用于判断信用状况的预测系统。文中将涵盖逻辑回归、支持向量机等常见方法,并通过实际操作流程进行说明。 一、机器学习基本概念 机器学习属于人工智能的子领域,其基本理念是通过数据自动学习规律,而非依赖人工设定规则。在信贷分析中,该技术可用于挖掘历史数据中的潜在规律,进而对未来的信用表现进行预测。 二、Sklearn工具包概述 Sklearn(Scikit-learn)是Python语言中广泛使用的机器学习模块,提供多种数据处理和建模功能。它简化了数据清洗、特征提取、模型构建、验证与优化等流程,是数据科学项目中的常用工具。 三、逻辑回归模型 逻辑回归是一种常用于分类任务的线性模型,特别适用于二类问题。在信用评估中,该模型可用于判断借款人是否可能违约。其通过逻辑函数将输出映射为0到1之间的概率值,从而表示违约的可能性。 四、支持向量机模型 支持向量机是一种用于监督学习的算法,适用于数据维度高、样本量小的情况。在信用分析中,该方法能够通过寻找最佳分割面,区分违约与非违约客户。通过选用不同核函数,可应对复杂的非线性关系,提升预测精度。 五、数据预处理步骤 在建模前,需对原始数据进行清理与转换,包括处理缺失值、识别异常点、标准化数值、筛选有效特征等。对于信用评分,常见的输入变量包括收入水平、负债比例、信用历史记录、职业稳定性等。预处理有助于减少噪声干扰,增强模型的适应性。 六、模型构建与验证 借助Sklearn,可以将数据集划分为训练集和测试集,并通过交叉验证调整参数以提升模型性能。常用评估指标包括准确率、召回率、F1值以及AUC-ROC曲线。在处理不平衡数据时,更应关注模型的召回率与特异性。 七、集成学习方法 为提升模型预测能力,可采用集成策略,如结合多个模型的预测结果。这有助于降低单一模型的偏差与方差,增强整体预测的稳定性与准确性。 综上,基于机器学习的信用评估系统可通过Sklearn中的多种算法,结合合理的数据处理与模型优化,实现对借款人信用状况的精准判断。在实际应用中,需持续调整模型以适应市场变化,保障预测结果的长期有效性。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值