Redis 常用命令

 redis的常用命令:

  1.String:主要保存 json 格式字符串

set key value :设定 key 持有指定的字符串,如果该key 存在则进行覆盖操作.总是返回 ”OK“

get key:获取 key 的 value 如果与该 key 关联的 value 不是String类型,redis将返回错误信息

       因为 get 命令只能获取 String value;如果key不存在,返回 nil (相当于null)

del key:删除指定的 key 返回值是数字类型,表示删除几条数据;(适用5种所有类型)

getset key value:先获取key值,然后在再设置该key的值,返回被覆盖的值

incr key:(相当 ++i)将指定的 key 的 value 原子性递增1;如果该 key 不存在,其初始值为0,在incr 之后创建 key value 其值为1

      如果value 的值不能转成整型,如hello,该操作执行失败并返回相应的错误信息。

decr key:与 incr key 相反;(相当 - -i)

append key value:拼接字符串;返回拼接后的长度;如果key 存在,则在value 后面追加该值;

         如果该key 不存在则重新创建一个 key value

 

redis不常用命令:

incrby key increment:将指定的 key 的value 原子性自加 incrment

decrby key decrbyment:将指定的key 的value 原子性自减 decrbyment

 

 

 

  2.redis 命令 -hash(不常用)

redis中的 Hash类型可以看作成具有String Key 和 String Value 的map 容器。所以该类型非常适合于存储对象信息。

如用户名,密码和年龄等。如果Hash中包含很少的字段,那么该类型的数据也将仅占用很少的磁盘空间。

每一个Hash可以存储4294967295个键值对。 Hash:{usename:”张三“,age:“18”,sex:“男”}

相对字符串Hash占用的内存很少

flushdb:清空数据库

hset key filed value:为指定的key 设置filed/value 对(键值对)

hmset key field value [ field2 vlue2 ......]: 设置key 中的多个 filed/value

hget key field:返回单个值

hmget key field1 field2 ......:返回多个值

hgetall key :返回 key 所有的数据

hdel key field [field2 .....]:删除一个或多个字段,返回被删除的Hash字段的个数(没有字段后 key 也就被删除了)

del key:删除整个key(适用5种所有类型)

hincrby key field increment:设置 key 中 filed 的值增加 increment, 如age 增加20

自学命令:

hexists key field:判断key 中的 field 是否存在

hlen key :获取 key 所包含的field 的数量

hkeys key :获得所有字段

hvals key :获取所有value

 

 

  3.链表类型LinkList命令:

lrange key statrt end :获取链表中statrt 到 end 的元素的值 (包含开头和结尾)start  从0开始计数;

          也可以为负数,若为-1 则表示链表尾部元素,-2 则表示倒数第二个,以此类推

lpush key values [value1 value2 .....]:在list头部添加元素,如果该key 不存在,该命令在插入的之前创建

                一个与该key关联的空链表,之后再向该链表插入数据,成功后返回元素个数。

rpush key values[value1 value2...]:在list尾部添加元素

lpop key:删除第一个元素,如果key 不存在则返回nil;存在则返回头部元素。

rpop key:删除尾部元素;

扩展命令:

llen key :返回指定的key 的元素数量

lrem key count value :删除count 个值为value 的元素,如果count 大于0,从头向尾部遍历并删除 count个值

          为value 的元素,如果count小于0,则从尾像头部开始删除,如果count等于0则删除value所有数据

lset  key  index  value:设置链表中的index 的脚本的元素值,0代表链表的头元素,

            -1代表链表的尾元素。操作链表的脚本不存在则抛出异常。

linsert  key  beforel  | after pivot value :在pivot 元素前或者后插入 value 这个元素。

rpoplpush  resource  destination:将链表中的尾部元素弹出并添加到头部。[循环操作]

 

 

 

4.无序集合redis-set:

 sadd key values [value1, value2....]:向set 中添加数据,如果该 key 的值已有则不会重复添加

srem key members [memeber1 , member2.....]:删除set 中指定的成员

smembers key:获取set 中所有的成员

sismember key member:判断参数中指定的成员是否在该set 中,1表示存在,0表示不存在,

            或者该key 本身就不存在就不存在(无论集合中有多少元素都可以这样极速返回结果)

sdiff  key1 key2 :返回key1 与key2中相差的成员,而且与key 的顺序有关。

         即返回差集(属于key1并且不属于key2的集合)。        

sinter key1 key2.....:返回交集(不但属于key1而且属于key2)

sunion  key1 key2.....:返回并集(key1 + key2)

 

扩展命令:

scard  key:获取set 中成员的数量

srandmember key:随机返回一个set 中的成员 

sdiffstore destination key1  key2 :相差的成员存储在 destination 上

sinterstore destination key1 key2 :将返回的交集 存储在destination 上

sunionstore destination key1 key2 :将返回的并集存储在destination 上

 

 

5.有序set (不常用,适合做排行榜)

zadd key score member score2 member2 ....:将所有成员以及该成员的分数存放到 sorted-set 中 。

                       如果该元素存在则会用新的分数代替原有的分数,(默认分数有小到大排列)

                    返回值是新加入到集合中的元素个数,不包含之前已存在的元素。

zscore key member :返回指定成员的分数

zcard key :获取集合中成员的数量

zrem key member[member...]:删除,可以删除多个

zrange key start end [withscore]:获取集合中脚标为start_end 的成员,[withscores]参数表明返回的成员包含其分数。

                (分数由小到大排列)

zrevrange key start end [withscores]:获取集合中脚标为start-end 的成员withscores参数表明返回的成员包含

                 其分数。(分数由大到小排列)

zremrangebyrank key start stop :按照排名范围删除元素

zremrangebyscore key min max:按照分数范围删除元素

zincrby  key  increment member: 设置指定成员的增加分数。返回值是更改后的分数。

zcount key min max :获取分数在[min,max]之间的成员

zrank key member:返回成员在集合中的排名。索引(从小到大)

zrevrank  key member:返回成员在集合中的排名。索引(从大到小)

 

 

 

 

 

 

 

          

 

转载于:https://www.cnblogs.com/f1209/p/7527925.html

内容概要:本文系统介绍了算术优化算法(AOA)的基本原理、核心思想及Python实现方法,并通过图像分割的实际案例展示了其应用价值。AOA是一种基于种群的元启发式算法,其核心思想来源于四则运算,利用乘除运算进行全局勘探,加减运算进行局部开发,通过数学优化器加速函数(MOA)和数学优化概率(MOP)动态控制搜索过程,在全局探索与局部开发之间实现平衡。文章详细解析了算法的初始化、勘探与开发阶段的更新策略,并提供了完整的Python代码实现,结合Rastrigin函数进行测试验证。进一步地,以Flask框架搭建前后端分离系统,将AOA应用于图像分割任务,展示了其在实际工程中的可行性与高效性。最后,通过收敛速度、寻优精度等指标评估算法性能,并提出自适应参数调整、模型优化和并行计算等改进策略。; 适合人群:具备一定Python编程基础和优化算法基础知识的高校学生、科研人员及工程技术人员,尤其适合从事人工智能、图像处理、智能优化等领域的从业者;; 使用场景及目标:①理解元启发式算法的设计思想与实现机制;②掌握AOA在函数优化、图像分割等实际问题中的建模与求解方法;③学习如何将优化算法集成到Web系统中实现工程化应用;④为算法性能评估与改进提供实践参考; 阅读建议:建议读者结合代码逐行调试,深入理解算法流程中MOA与MOP的作用机制,尝试在不同测试函数上运行算法以观察性能差异,并可进一步扩展图像分割模块,引入更复杂的预处理或后处理技术以提升分割效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值