美文网首页
redis常用操作和操作键值

redis常用操作和操作键值

作者: 4a873e424089 | 来源:发表于2018-11-14 18:43 被阅读0次

    string、list常用操作

    string数据创建、覆盖及设置过期时间

    127.0.0.1:6379>getkey1查看原来的key1的值"b"127.0.0.1:6379>setkey1123      覆盖创建一个新的key1的string的值OK127.0.0.1:6379>getkey1查看"123"127.0.0.1:6379>setnxkey1456     使用setnx来覆盖key1元素,会返回0的结果,不会覆盖key1原有的元素(integer) 0127.0.0.1:6379>getkey1显示key1的元素,没有变化,如果使用set则会覆盖key1原来的元素"123"127.0.0.1:6379>setnxkey2123     可以使用setnx来直接创建一个新的str元素,返回结果是1(integer) 1127.0.0.1:6379>getkey2查看"123"127.0.0.1:6379>setexkey310abcd使用setex创建key3元素,过期时间为10秒,值为abcdOK127.0.0.1:6379>getkey310秒内还存在"abcd" 127.0.0.1:6379>getkey310秒后查询数据则过期了

    list数据类型常用操作

    查询后list中会将被查询过的元素取出不再保存,所以查询后的元素就会"消失"。如从一个list取值:

    127.0.0.1:6379>LRANGElist10-11) "aaa"2) "aaa"127.0.0.1:6379>LPOPlist1"aaa"127.0.0.1:6379>LRANGElist10-11) "aaa"127.0.0.1:6379>LPOPlist1"aaa"127.0.0.1:6379>LRANGElist10-1(emptylistorset)

    在list的排序内插入一个元素。格式: linsert list表名 AFTER old new

    127.0.0.1:6379>LPUSHlist1aaa(integer) 1127.0.0.1:6379>LPUSHlist1bbb(integer) 2127.0.0.1:6379>LPUSHlist1ccc(integer) 3127.0.0.1:6379>LRANGElist10-1创建三个元素并查看1) "bbb"2) "ccc"3) "aaa"127.0.0.1:6379>linsertlist1AFTERbbbeee在bbb元素前面插入一条eee的新元素并查看结果(integer) 4127.0.0.1:6379>LRANGElist10-11) "bbb"2) "eee"3) "ccc"4) "aaa"

    在一个list中插入一个元素到第几位,格式如:lset list表名 2 abcd     //在第三位的地方插入元素abcd。例如:

    127.0.0.1:6379>lsetlist12abcdOK127.0.0.1:6379>LRANGElist10-11) "bbb"2) "eee"3) "abcd"4) "aaa"

    查看某个元素,格式:lindex list表名 2      //查看第三个元素,查看后元素还存在表中。如:

    127.0.0.1:6379>lindex list12"abcd"127.0.0.1:6379>LRANGE list10-11)"bbb"2)"eee"3)"abcd"4)"aaa"

    查看表中有几个元素,格式:llen list表名

    127.0.0.1:6379>llenlist1(integer) 4

    set集合常用操作

    在一个集合中插入元素,并使用SMEMBERS查看集合中的所有元素

    127.0.0.1:6379>saddset1aaa(integer) 1127.0.0.1:6379>saddset1bbb(integer) 1127.0.0.1:6379>saddset1ccc(integer) 1127.0.0.1:6379>SMEMBERSset1查看集合set1中所有的元素1) "ccc"2) "bbb"3) "aaa"4) "2"5) "3"6) "4"7) "a"

    删除一个指定元素或随机取出一个元素并将这个元素从集合里永久删除

    127.0.0.1:6379>sremset1aaa删除集合里指定的aaa元素(integer) 1127.0.0.1:6379>spopset1删除集合里随机的一个元素"bbb" 127.0.0.1:6379>SMEMBERSset1查看集合里剩下的元素1) "ccc"2) "2"3) "3"4) "4"5) "a"

    求多个集合之间的不同的元素,以第一个集合为标准,列出第二个集合没有的元素。并将两个集合之间的差集存储到一个新的集合当中。如

    127.0.0.1:6379>SMEMBERS set1                     首先查看两个集合中的元素1)"ccc"2)"2"3)"3"4)"4"5)"a"127.0.0.1:6379>SMEMBERS set21)"1"2)"2"3)"3"127.0.0.1:6379>SDIFF set1 set2                   对比两个集合中的元素,以第一个集合为标准,列出第二集合没有的元素1)"4"2)"ccc"3)"a"127.0.0.1:6379>SDIFFSTORE set3 set1 set2         将两个集合中的差集结果得出并存储到一个新的集合当中(integer)3127.0.0.1:6379>SMEMBERS set31)"4"2)"ccc"3)"a"

    两个集合间求交集结果并将其存储在一个新的集合当中 

    127.0.0.1:6379> SMEMBERSset1     1)"ccc"2)"2"3)"3"4)"4"5)"a"127.0.0.1:6379> SMEMBERSset2                  查看两个集合的所有元素1)"1"2)"2"3)"3"127.0.0.1:6379> SINTERset1set2               对比两个集合之间相同的元素,两个集合中都有2、3两个元素1)"2"2)"3"127.0.0.1:6379> SINTERSTOREset4set1set2     求交集并将结果存储到一个新的集合set4当中(integer) 2127.0.0.1:6379> SDIFFset41)"2"2)"3"

    求出两个集合的并集,将两个集合中的元素合并在一起,重复的元素会去重显示,并保存到一个新的集合当中,如:

    127.0.0.1:6379> SUNIONset1set2                 将两个集合合并显示1)"ccc"2)"2"3)"3"4)"4"5)"1"6)"a"127.0.0.1:6379> SUNIONSTOREset5set1set2       将两个集合合并存储到一个新的集合当中,并将重复的元素去重处理来存储(integer) 6127.0.0.1:6379> SDIFFset5                       查看并集处理后创建的新存储的集合当中的元素1)"ccc"2)"2"3)"3"4)"4"5)"a"6)"1"

    判断一个元素是否属于(存在)一个集合中,比如这样:

    127.0.0.1:6379> SISMEMBERset1 ccc              查看ccc元素是否属于set1集合(integer) 1127.0.0.1:6379> SDIFFset1                      查看集合所有元素来验证ccc是否存在于set1集合1)"4"2)"3"3)"2"4)"ccc"5)"a"

    随机取出一个元素,但并不会删除该元素。比如取出一个随机元素,并查看集合中这个随机元素是否还存在

    127.0.0.1:6379>SRANDMEMBER set1                  随机取出集合中的元素"3""3"127.0.0.1:6379>SRANDMEMBER set1                  随机取出集合中的元素"a""a"127.0.0.1:6379>SDIFF set1                        查看这些元素还存在于set1这个集合当中1)"4"2)"3"3)"2"4)"ccc"5)"a"

    set有序集合操作 APP开发找上海捌跃网络科技有限公司

    创建一个有序集合并向集合中写入元素

    127.0.0.1:6379>zaddzseta16 24        创建集合元素,zadd后分别是集合名称、分值和元素三项参数(integer) 1127.0.0.1:6379>zaddzseta18 224(integer) 1127.0.0.1:6379>zaddzseta180 124(integer) 1127.0.0.1:6379>zaddzseta300 624(integer) 1127.0.0.1:6379>zrangezseta0-1zrange查看zseta集合中所有的元素,0-1表示列出从0到-1所有的元素范围1) "123"2) "234"3) "24"4) "224"5) "124"6) "624"

    查看集合的元素并带上元素分值

    127.0.0.1:6379>zrange zseta0-1withscores    withscores是在查看集合时同时列出元素的分值范围/大小1)"123"元素2)"1"分值3)"234"元素4)"2"分值5)"24"元素6)"6"分值7)"224"元素8)"18"分值9)"124"元素10)"180"分值11)"624"元素12)"300"分值

    在集合中删除一个指定的元素,可以准确的删除集合中的这个元素,需要在操作之前必须知道要删除的元素值。操作如:

    127.0.0.1:6379>zrem zseta24(integer)1127.0.0.1:6379>zrange zseta0-11)"123"2)"234"3)"224"4)"124"5)"624"

    查询元素的索引值,索引值从0开始,按照score正向排序。查询元素的引索值如下面的操作:

    127.0.0.1:6379>zrangezseta0-1查看所有元素,可以得知一共有五个元素1) "123"2) "234"3) "224"4) "124"5) "624"127.0.0.1:6379>zrankzseta624         这里按照从下往上的方式查询元素引索值,引索值从0开始,所以引索值会比元素个数-1(integer) 4127.0.0.1:6379>zrankzseta124(integer) 3127.0.0.1:6379>zrankzseta224(integer) 2127.0.0.1:6379>zrankzseta234(integer) 1127.0.0.1:6379>zrankzseta123(integer) 0

    倒叙显示集合中所有元素,统计集合中元素个数,统计集合中一个分值范围内的元素个数并查询返回一个分值范围内的元素,操作如:

    127.0.0.1:6379>zrevrangezseta0-1倒叙显示集合中元素1) "624"2) "124"3) "224"4) "234"5) "123"127.0.0.1:6379>zcardzseta统计集合中元素个数(integer) 5127.0.0.1:6379>zcountzseta1 10           查询返回一个分值范围内的元素个数(integer) 2127.0.0.1:6379>zrangebyscorezseta1 10    查询返回一个分值范围内的元素1) "123"2) "234"

    使用引索指定范围来删除多个范围内的元素,删除分值范围内的元素

    127.0.0.1:6379>zremrangebyrankzseta0 2       删除引索0到2范围内的元素,删除了0、1、2三个(integer) 3127.0.0.1:6379>zrangebyscorezseta1 10        由于这里10引索内只有0、1、2三个元素,所以在删除后10引索内再没有其他元素存在了(emptylistorset)127.0.0.1:6379>zrangezseta0-1使用分值删除一个范围内的元素前先查看下现存在的元素1) "124"2) "624"127.0.0.1:6379>zremrangebyscorezseta100 130  删除100到130分值范围的元素,删除了123和624元素(integer) 2127.0.0.1:6379>zrangezseta0-1查询;因为删除了最后两个有序集合元素,所以最后有序集合显示为没有元素(emptylistorset)

    Redis常用键值和服务操作

    keys*//取出所有key127.0.0.1:6379> keys *1)"key1"2)"set5"3)"set2"4)"hash1"5)"k3"6)"hash2"7)"seta"8)"set"9)"k2"10)"key2"11)"hash"12)"list1"13)"set3"14)"k1"15)"set4"16)"set1"--------------------------------------------------------------------------keys k*//模糊匹配127.0.0.1:6379> keys k*1)"key1"2)"k3"3)"k2"4)"key2"5)"k1"--------------------------------------------------------------------------exists name//有name键返回1,否则返回0;127.0.0.1:6379> exists key1         查询一个存在的key(integer)1--------------------------------------------------------------------------del key1//删除一 个key //成功返回1 ,否则返回0;127.0.0.1:6379> del key11   删除一个不存在的key(integer)0--------------------------------------------------------------------------EXPIRE key1100//设置key1100s后过期--------------------------------------------------------------------------ttl key//查看键还有多长时间过期,单位是s,当key不存在时,返回-2。当key存在但没有设置剩余生存时间时,返回-1。否则, 返回key的剩余生存时间。--------------------------------------------------------------------------select0//代表选择当前数据库,默认进入0数据库--------------------------------------------------------------------------move age1//把age移动到1数据库,age属于key名称,成功返回1,失败返回0--------------------------------------------------------------------------persist key1//取消名字为key1键值的过期时间 --------------------------------------------------------------------------randomkey//随机返回一个key--------------------------------------------------------------------------rename oldname newname//重命名key--------------------------------------------------------------------------type key1//返回键的类型127.0.0.1:6379> type set4         普通set集合类型set127.0.0.1:6379> type seta         有序set集合的类型zset--------------------------------------------------------------------------

    redis服务操作

    Redis常用操作(服务)

    dbsize//返回当前数据库中key的数目info //返回redis数据库状态信息--------------------------------------------------------------------------flushdb//清空当前数据库中所有的键--------------------------------------------------------------------------flushall//清空所有数据库中的所有的key. --------------------------------------------------------------------------bgsave//保存数据到rdb文件中,在后台运行--------------------------------------------------------------------------save//作用同上,但是在前台运行--------------------------------------------------------------------------configget*//获取所有配置参数--------------------------------------------------------------------------configgetdir//获取配置参数--------------------------------------------------------------------------configsetdir//更改配置参数--------------------------------------------------------------------------数据恢复:  首先定义或者确定dir目录和dbfilename,然后把备份的rdb文件放到dir目录下面,重启redis服 务即可恢复数据

    转自:http://blog.51cto.com/8844414/2316784

    相关文章

      网友评论

          本文标题:redis常用操作和操作键值

          本文链接:https://www.haomeiwen.com/subject/optsfqtx.html