redis 命令收集

(一)各种数据类型的操作指令

一.String类型 

1.set name HongWan 为设置值,get name 为取值,如果只用redis的string类型可以当做是memcached的持久化。

2.setnx 如果key已经存在,返回0.。

3.setex 例如 setex haircolor 10 red 设定harcoler=red的键值对,并制定有效时间为10秒

4.setrange 例如 setrange name 8 gmail.com 其中的8是指下标为8的字符串开始替换。

5.mset 一次设置多个key成功返回ok 失败返回0,set key1 hongwan1 key2 hongwan2

5.msetnx,一次设置多个值,失败返回零,但不会覆盖已经存在的key。

6,getset 设置key 的值 并返回key的旧值

7.getrange 获取制定key的vale值的子字符串 例如 getrange name 0 6 自重 -1表示从右边开始计数

8.incr 一个不是int的value会范湖错误,incr 一个不存在的key 则设置key为1 用法 incr age

9.incrby  用法 incrby age 5  改age加5  decr decrby指令操作相反

10.对key的值做的是减减操作,decr一个不存在key,则设置key为-1 decrby 同decr,减指定值。

11.append 给制定key的字符串追加value,返回新字符串的长度

12. strlen取指定key的value值的长度。

二.hashes类型及操作

说明:.在配置文件中设定这两个参数 

     hash-max-zipmap-entries 64 #配置字段最多64个 

     hash-max-zipmap-value 512 #配置value最大为512字节

当超过这个限定后zipmap会自动转换成hash实现,采用zipmap来存的好处是可以减小更小的内存消耗。

1.hset 设置hash field为指定值,如果key不存在,则先创建。例如 hset myhash field1 Hello

2.hsetnx,hmset,hget,hmget,hincrby,hexists(测试field是否存在),hlen(返回hash的field数量),hdel

hkeys(返回hash所有的field),hvals(返回hash所有的value),hgetall(获取某个hash中全部的filed及value。)

三.lists类型及操作

说明:list是一个链表结构,主要功能是push、pop、获取一个范围的所有值等等,操作中key理解为链表的名字。Redis的list类型其实就是一个每个子元素都是string类型的双向链表。链表的最大长度是(2的32次方)。我们可以通过push,pop操作从链表的头部或者尾部添加删除元素。这使得list既可以用作栈,也可以用作队列。

1.lpush在key 对应的头部添加字符串元素 例如 lpush mylist world 

2.rpush 在key 对应list的尾部添加字符串元素

3.linsert在key对应list的特停位置之前或自后添加字符串元素例如 linsert mylist befor ”world”  ”there”  there为插入元素before为制定元素

4.lset 设置list中制定下标的元素的值(下标从0开始) 例如lset mylist4 0 "four"

5.lrem 从key对应list中删除count个和value相同的元素。例如 lrem mylist5 2 "hello"  lrem mylist7 0 "hello"(当count为0删除全部)

6.ltrim 保留指定key 的值范围内的数据 ltrim mylist8 1 -1

7.lpop  从list的头部删除元素,并返回删除元素  rpop从头部删除

8.rpoplpush 从第一个list的尾部移除元素并添加到第二个list的头部,最后返回被移除的元素值 例如:rpoplpush mylist5 mylist6

9.lindex 返回名称为key的list中index位置的元素  lindex mylist5 0

10.lrange mylist5 0 -1显示所有对应的值llen返回key对应list的长度

四.set类型及操作

说明:set的是通过hash table实现的,所以添加、删除和查找的复杂度都是O(1)。hash table会随着添加或者删除自动的调整大小。

1.sadd 向名称为key的set中添加元素

2.smembers smembers来查看myset中的所有元素。

3.srem 删除名称为key的set中的元素member

4.spop 随机返回并删除名称为key的set中一个元素

5.sdiff 返回所有给定key与第一个key的差集  例如 sdiff myset2 myset3 返回set2中没有 set3中有的值

6.sdiffstore 返回所有给定key与第一个key的差集,并将结果存为另一个key sdiffstore myset4 myset2 myset3

7.sinter  返回所有给定key的交集

8.sinterstore 返回所有给定key的交集,并将结果存为另一个key

9.sunion 返回所有给定key的并集  例如;sunion myset2 myset3   sunionstore与前面的类似。

10.smove 从第一个key对应的set中移除member并添加到第二个对应set中 例如:smove myset2 myset7 three

11.scard 返回名称为key的set的元素个数

12.sismember 测试member是否是名称为key的set的元素

13.srandmember  随机返回名称为key的set的一个元素,但是不删除元素

五.sorted sets类型及操作

说明:sorted set是set的一个升级版本,它在set的基础上增加了一个顺序属性,这一属性在添加修改元素的时候可以指定,每次指定后,zset会自动重新按新的值调整顺序。可以理解为有两列的mysql表,一列存value,一列存顺序。操作中key理解为zset的名字。当元素被添加到集合中时,一个元素到score的映射被添加到hash table中,所以给定一个元素获取score的开销是O(1),另一个score到元素的映射被添加到skip list,并按照score排序,所以就可以有序的获取集合中的元素。添加,删除操作开销都是O(log(N))和skip list的开销一致,redis的skip list实现用的是双向链表,这样就可以逆序从尾部取元素。sorted set最经常的使用方式应该是作为索引来使用.我们可以把要排序的字段作为score存储,对象的id当元素存储

1.zadd  向名称为key的zset中添加元素member,score用于排序。如果该元素已经存在,则根据score更新该元素的顺序

2. zrange myzset 0 -1 withscores 显示所有元素并显示最终排序

3.zrem(删除名称为key的zset中的元素member)

4.zincrby 如果在名称为key的zset中已经存在元素member,则该元素的score增加increment;否则向集合中添加该元素,其score的值为increment

5.zrank 返回名称为key的zset中member元素的排名(按score从小到大排序)即下标 zrevrank  反向

6. zrevrange 首先按score从 大到小排序,再取出全部元素

7.zrangebyscore 返回集合中score在给定区间的元素 例如:zrangebyscore myzset3 2 3 withscores

8.zcount 返回集合中score在给定区间的数量  zcard(返回集合中元素的个数)

9.zscore 返回给定元素对应的score 

10.zremrangebyrank 删除集合中排名在给定区间的元素 例如 zremrangebyrank myzset3 3 3

11.zremrangebyscore 删除集合中score在给定区间的元素

(二.)常用指令介绍

一.

1.keys *  代表取出所有的key  ,keys mylist* 代表取出所有以mylist开头的key

2.exists 确认一个key是否存在 例如:exists HongWan

3.del  删除一个key 、expire设置一个key的过期时间(单位:秒)、persist 移除给定key的过期时间

4.move 将当前数据库中的key转移到其它数据库中

5.randomkey 随机返回key空间的一个key、rename重命名key

6.type 返回值的类型

二.服务器相关命令

1.ping 测试连接是否存活 

2.echo 在命令行打印一些内容

3.select 选择数据库。Redis数据库编号从0~15,我们可以选择任意一个数据库来进行数据的存取。

4.quit 退出连接。

5.dbsize 返回当前数据库中key的数目。

6.info 获取服务器的信息和统计

7.monitor 实时转储收到的请求。

8.config get 获取服务器配置信息。

9. flushdb 删除当前选择数据库中的所有key。flushall  删除所有数据库中的所有key。






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值