• Redis命令笔记


    一、string类型:
    (1)set :设置key对应的值为string类型的value,例:set name helloworld
    (2)get :获取key对应的值为string类型的value,例:get name
    (3)setnx : 如果key已经存在,返回0设置失败,nx即not exist,例: setnx name helloworld
    (4)setex : 设置key的有效期, 例:setex name 10 helloworld (10秒)
    (5)setrange :替换value的字符, 例:setrange name 5 hiyou
    (6)mset :设置多个,失败返回0全部不成功,例:mset name1 hello name2 9
    (7)msetnx :设置多个,如果key已经存在,返回0全部不成功,例:msetnx  name3 hello name2 9
    (8)getset :返回旧值设置新值,例:getset name hiyou
    (9)getrange :获取子字符串,例:getrange name 5 10(从第5个截取到第10个字符)
    (10)mget :获取多个,例:mget name1 name2
    (11)incr :数值自增1,返回自增后的值,例:incr name2
    (12)incrby :数值自增n(可为负值),返回自增后的值,例:incr name2 5
    (13)decr :数值自减1,返回自减后的值,例:decr name2 5
    (14)decrby :数值自减n(可为负值),返回自减后的值,例:decrby name2 5
    (15)append :给value追加字符串,返回新增加后字符串长度,例:append name hi
    (16)strlen :获取字符串长度,例:strlen name

    二、hash类型:string类型的field和value映射表,适合存对象
    (1)hset:设置hash(表) field(字段)的值,例:hset biao ziduan1 hello
    (2)hget:获取hash(表) field(字段)的值,例:hget biao ziduan1
    (3)hsetnx:设置hash(表) field(字段)的值,如果已经存在,返回0设置失败,例:hsetnx biao ziduan1 hello
    (4)hmset:设置多个 field(字段)的值,例:hmset biao ziduan1 hello ziduan2 world
    (5)hmget:获取多个 field(字段)的值,例:hmget biao ziduan1  ziduan2
    (6)hincrby:hash(表) field(字段)数值自增n(可为负值),返回自增后的值,例:hincrby  biao ziduan1 5
    (7)hexists:判断hash(表)的field(字段)自否存在,0不存在,1存在,例:hexists biao ziduan1
    (8)hlen:获取hash(表)的field(字段)数,例:hlen biao
    (9)hdel:删除ash(表) 的field(字段),例:hdel biao ziduan1
    (10)hkeys:获取hash(表)所有的field(字段),例:hkeys biao
    (11)hvals:获取hash(表)所有的值,例:hvals biao
    (12)hgetall:获取hash(表)所有的field(字段)和值,例:hgetall biao

    三、list类型:按照插入顺序排序的字符串链表,主要功能是push、pop、获取一个范围的所有值等,操作key理解为链表的名字。redis的list类型其实就是一个每个子元素都是string类型的双向链表。我们可以通过push、pop操作从链表的头部或者尾部添加、删除元素,这样list既可以作为栈,又可以作为队列。
    (1)lpush:在key对应的list的头部添加字符元素,例:lpush list hello
    (2)rpush:在list的尾部添加字符元素,例:rpush list world
    (3)lrange:获取list里的值,例:lrange list 0 -1(-1代表最后);
    (4)linsert:在list特定位置添加字符串,例:linsert list before hi nihao
    (5)lset:替换list中指定下标的元素,例:lset list 2 lu
    (6)lrem:list中删除n个和value相同的元素(n<0从尾删除,n=0全部删除),例:lrem list 1 hi
    (7)ltrim:保留指定key的值范围内的数据,其余的删掉,例:ltrim list     2 3
    (8)lpop:从list头部删除元素,返回删除值,例:lpop list
    (9)rpop:从list尾部删除元素,返回删除值,例:rpop list
    (10)rpoplpush:从第一个list的尾部移除元素并添加到第二个list头部,返回该元素,例:rpoplpush list1 list2
    (11)lindex:返回list中index位置的元素,例:lindex list 2
    (12)llen:返回list元素个数,例:llen list

    四、set类型:是string类型的无序集合。通过hash tables实现,添加、删除和查找的复杂度都是0(1)。对集合我们可以取并集、交集、差集。通过这些操作我们可以实现sns中的好友推荐和blog的tag功能。
    (1)sadd:向集合中添加元素,例:sadd name hello
    (2)smembers:获取集合的元素,例:smembers name
    (3)srem:删除元素,例:srem name hello
    (4)spop:随机删除一个元素,例:spop name
    (5)sdiff:返回两个集合的差集,例:sdiff name1 name2 (name1-name2)
    (6)sdiffstore:返回差集,将差集存入另一个集合,例 :sdiffstore name3 name1 name2  
    (7)sinter:返回两个集合的交集,例:sinter name1 name2
    (8)sinterstore:返回交集,将交集存入另一个集合,例 :sinterstore name3 name1 name2
    (9)sunion:返回两个集合的并集,例:sunion name1 name2
    (10)sunionstore:返回并集,将并集存入另一个集合,例 :sunionstore name3 name1 name2  
    (11)smove:将元素从一个集合移到另一个集合,例:smove name1 name2 hi
    (12)scard:获取集合元素个数,例:scard name
    (13)sismember:判断集合中是否存在该元素,例:sismember name hi
    (14)srandmember:随机返回集合的一个元素,例:srandmember name

    五、sorted set类型:有序集合,set的升级版,增加了顺序属性,这一属性在增加修改元素时可以指定,每次指定后,zset会自动按新的值调整顺序。
    (1)zadd:向集合中添加元素,该元素若存在,则更新其顺序,例:zadd name 1 hello
    (2)zrange:获取集合元素,例:zrange name 0 -1 withscores
    (3)zrem:删除指定元素,例:zrem name hi
    (4)zincrby:如果集合中存在该元素,则该元素的下标增加n,否则向该集合中添加该元素,其下标增值为n,例:zincrby name 2 hi
    (5)zrank:从小到大排序后,返回元素的下标,例:zrank name hi
    (6)zrevrange:从大到小排序后,返回所有元素,例:zrevrange name hi
    (7)zrangebyscore:根据下标范围,获取元素,例:zrangebyscore name 2 3 withscores
    (8)zcount:根据下标范围,获取元素数,例:zcount name 2 3
    (9)zcard:获取集合元素总数,例:zcard name
    (10)zremrangebyrank:根据下标范围,删除元素,例:zremrangebyrank name 2 3
    (11)zremrangebyscore:根据顺序范围,删除元素,例:zremrangebyscore name 2 3

    六、键值相关命令
    (1)keys:满足给定pattren的所有key,例:keys *
    (2)exists:确认一个key是否存在,例:exists name
    (3)del:删除一个key,例:del name
    (4)expire:设置一个key的过期时间,例:expire name 10
    (5)move:将当前的key转移到其他数据库,例:move name 1
    (6)select:选择数据库,例:select 0 (选择当前数据库,共0-15)
    (7)persist:移除给定的过期时间,例:persist name
    (8)randomkey:随机返回key空间的一个key,例:randomkey
    (9)rename:重命名key,例:rename name1 name2
    (10)type:返回key的类型,例:type name

    七、服务器的相关命令
    (1)ping:测试连接是否存活,例:ping
    (2)echo:输出,例:echo hello
    (3)dbsize:返回当前数据库中key的数目,例:dbsize
    (4)info:获取服务器的信息和统计,例:info
    (5)config get:实时转存收到的请求,例:config get name
    (6)flushdb:删除当前数据库的所有key,例:flushdb
    (7)flushall:删除所有数据库的所有key,例:flushall

  • 相关阅读:
    《人月神话》读后感
    软件工程心得体会(十一)
    Arch + Win10 EFI 引导重装记录
    BurpSuite 的使用
    Wireshark 的使用
    Android 中的反调试技术
    IDA 对 so 的动态调试
    Smail 中的一些点
    IDA 对 SO 的逆向
    动态调试smali代码
  • 原文地址:https://www.cnblogs.com/luyucheng/p/6145954.html
Copyright © 2020-2023  润新知