• Redis之数据类型大全


    一:String类型

    1、set方法:设置key对应的值为string类型的value,如果该key已经存在,则覆盖key对应的value值。所以在redis中key只能有一个。
    127.0.0.1:6379> set name lijie
    2、get:根据key获取value值
    127.0.0.1:6379> get name
    3、Setnx:设置key对应的值为tring类型的value,如果key已经存在,返回0 表示无法再对该key设置新值,返回1 表示设置新值成功,nx是not exit的意思。
    127.0.0.1:6379> setnx name zs
    (integer) 0
    127.0.0.1:6379> setnx age 20
    (integer) 1
    4、setex:设置key对应的值为string类型的value,并指定该key-value对应的有效期。
    127.0.0.1:6379> setex color 10 red
    OK
    立即查询
    127.0.0.1:6379> get color
    "red"
    10秒后查询
    127.0.0.1:6379> get color
    (nil)
    5、Setrange:设置指定key的value值的子字符窜。
    127.0.0.1:6379> set email jalja@sina.com
    OK
    127.0.0.1:6379> get email
    "jalja@sina.com"
    127.0.0.1:6379> setrange email 6 163.com
    (integer) 14
    127.0.0.1:6379> get email
    "jalja@163.comm"
    6、Mset:一次设置多个key-value,返回OK表示全部设置成功,返回0表示全部失败
    127.0.0.1:6379> mset name1 zs name2 ls
    OK
    127.0.0.1:6379> get name1
    "zs"
    127.0.0.1:6379> get name2
    "ls"
    7、msetnx:一次设置多个key-value,返回1表示全部设置成功,返回0表示全部失败。该方式不会覆盖已经存在的key
    127.0.0.1:6379> msetnx name3 kk name4 mm name2 LL
    (integer) 0
    127.0.0.1:6379> get name3
    (nil)
    127.0.0.1:6379> get name4
    (nil)
    8、getset:设置key值,并返回key的旧值
    127.0.0.1:6379> getset name4 UU
    (nil)
    127.0.0.1:6379> get name4
    "UU"
    127.0.0.1:6379> getset name4 RR
    "UU"
    9、getrange:获取key对应value的子字符串
    127.0.0.1:6379> get email
    "jalja@163.comm"
    127.0.0.1:6379> getrange email 0 4
    "jalja"
    10、mget:一次获取多个key对应的value值,不存在返回nil
    127.0.0.1:6379> mget name1 name2 name3 name4 name5
    1) "zs"
    2) "ls"
    3) (nil)
    4) "RR"
    5) (nil)
    11、incr:对key对应的value做加加操作,并返回新值
    127.0.0.1:6379> get age
    "20"
    127.0.0.1:6379> incr age
    (integer) 21
    12、incrby:与incr类似,加指定值,key不存在的时候会设置key,并认为该key原来的value=0
    127.0.0.1:6379> get age
    "21"
    127.0.0.1:6379> incrby age 9
    (integer) 30
    127.0.0.1:6379> incrby age -5
    (integer) 25
    127.0.0.1:6379> incrby height 10
    (integer) 10
    13、decr:对key对应的value做递减操作
    127.0.0.1:6379> get height
    "10"
    127.0.0.1:6379> decr height
    (integer) 9
    127.0.0.1:6379> decr height
    (integer) 8
    14、decrby:对key对应的value减去指定的值
    127.0.0.1:6379> get height
    "8"
    127.0.0.1:6379> decrby height 3
    (integer) 5
    127.0.0.1:6379> decrby height -3
    (integer) 8
    15、append:对key对应的vlaue字符串追加,返回新字符串的长度
    127.0.0.1:6379> get name1
    "zs"
    127.0.0.1:6379> append name1 ML
    (integer) 4
    127.0.0.1:6379> get name1
    "zsML"
    16、strlen:获取key对应value的长度
    127.0.0.1:6379> get name1
    "zsML"
    127.0.0.1:6379> strlen name1
    (integer) 4

    二:Hash类型

    1、hset:设置hash filed 为指定值,如果key不存在,则先创建。
    127.0.0.1:6379> hset user:001 name zs
    (integer) 1
    127.0.0.1:6379> hget user:001 name
    "zs"
    设置一个user:001 的用户的name为zs(可以将user:001看做一个表)
    2、 hsetnx:设置hash filed 为指定值,如果key不存在,则先创建。如果存在则返回0表示设置失败。
    127.0.0.1:6379> hsetnx user:001 name ML
    (integer) 0
    127.0.0.1:6379> hsetnx user:001 age 1
    (integer) 1
    3、hmset:同时设置hash的多个file
    127.0.0.1:6379> hmset user:002 name MM age 20
    OK
    127.0.0.1:6379> hget user:002 name
    "MM"
    127.0.0.1:6379> hget user:002 age
    "20"
    4、hmget:获取全部指定的hash filed
    127.0.0.1:6379> hmget user:002 name age
    1) "MM"
    2) "20"
    5、hincrby:对hash filed加上指定的值
    127.0.0.1:6379> hget user:002 age
    "20"
    127.0.0.1:6379> hincrby user:002 age 5
    (integer) 25
    127.0.0.1:6379> hincrby user:002 age -5
    (integer) 20
    6、hexists:测试指定的filed是否存在,返回1表示存在,返回0表示不存在
    127.0.0.1:6379> hexists user:002 name
    (integer) 1
    127.0.0.1:6379> hexists user:002 age
    (integer) 1
    127.0.0.1:6379> hexists user:002 height
    (integer) 0
    7、hlen:返回指定hash的field的数量
    127.0.0.1:6379> hlen user:002
    (integer) 2
    8、hdel 删除指定hash 的filed字段,返回1表示删除成功0:表示删除失败
    127.0.0.1:6379> hget  user:002 age
    "20"
    127.0.0.1:6379> hdel user:002 age
    (integer) 1
    127.0.0.1:6379> hdel user:002 age
    (integer) 0
    127.0.0.1:6379> hget user:002 age
    (nil)
    9、hkeys:返回hash 的所有filed
    127.0.0.1:6379> hkeys user:001
    1) "name"
    2) "age"
    127.0.0.1:6379> hkeys user:002
    1) "name"
    10、hvals:返回hash的所有value
    127.0.0.1:6379> hvals user:001
    1) "zs"
    2) "1"
    127.0.0.1:6379> hvals user:002
    1) "MM"

    三:List类型

    1、Lpush:在key对应list的头部添加字符串元素,返回list中元素的个数
    127.0.0.1:6379> lpush list1 "hello"
    (integer) 1
    127.0.0.1:6379> lpush list1 "word"
    (integer) 2
    2、lrange:获取list中的元素,
    127.0.0.1:6379> lrange list1 0 -1(0:第一个,-1:最后一个)
    1) "word"
    2) "hello"
    3、rpush:在key对应的list尾部添加元素
    127.0.0.1:6379> rpush list2 10
    (integer) 1
    127.0.0.1:6379> rpush list2 11
    (integer) 2
    127.0.0.1:6379> lrange list2 0 -1
    1) "10"
    2) "11"
    4、Linsert:在key对应list的特定位置前或后添加字符串
    127.0.0.1:6379> lrange list2 0 -1
    1) "10"
    2) "11"
    127.0.0.1:6379> linsert list2 before 11 10.5
    (integer) 3
    127.0.0.1:6379> lrange list2 0 -1
    1) "10"
    2) "10.5"
    3) "11"
    5、lset:更改list中指定下标的元素,返回ok表示设置成功
    127.0.0.1:6379> lrange list2 0 -1
    1) "10"
    2) "10.5"
    3) "11"
    127.0.0.1:6379> lset list2 1 10.00
    OK
    127.0.0.1:6379> lrange list2 0 -1
    1) "10"
    2) "10.00"
    3) "11"
    6、lrem:从key对应list中删除n个和value相同的元素(n<0 从尾部删除,n=0 全部删除)
    127.0.0.1:6379> lrange list 0 -1
    1) "two"
    2) "one"
    3) "one"
    127.0.0.1:6379> lrem list 1 one
    (integer) 1
    127.0.0.1:6379> lrange list 0 -1
    1) "two"
    2) "one"
    
    7、ltrim:保留list中指定范围的数据
    127.0.0.1:6379> lrange list2 0 -1
    1) "10"
    2) "10.00"
    3) "11"
    4) "12"
    127.0.0.1:6379> ltrim list2 1 2
    OK
    127.0.0.1:6379> lrange list2 0 -1
    1) "10.00"
    2) "11"
    8、lpop:从list的头部删除元素,并返回该元素
    127.0.0.1:6379> lrange list 0 -1
    1) "two"
    2) "one"
    127.0.0.1:6379> lpop list
    "two"
    127.0.0.1:6379> lrange list 0 -1
    1) "one"
    9、rpop:从list尾部删除元素,并返回该元素
    10、rpoplpush:从第一个list的尾部删除元素,并添加到第二个list的头部
    127.0.0.1:6379> lrange list 0 -1
    1) "one"
    127.0.0.1:6379> lrange list1 0 -1
    1) "word"
    2) "hello"
    127.0.0.1:6379> rpoplpush list1 list
    "hello"
    127.0.0.1:6379> lrange list 0 -1
    1) "hello"
    2) "one"
    127.0.0.1:6379> lrange list1 0 -1
    1) "word"
    11、lindex 返回名称为key的list中index位置的元素
    127.0.0.1:6379> lrange list 0 -1
    1) "hello"
    2) "one"
    127.0.0.1:6379> lindex list 1
    "one"
    12、llen:返回指定key对应list的长度
    127.0.0.1:6379> lrange list 0 -1
    1) "hello"
    2) "one"
    127.0.0.1:6379> llen list
    (integer) 2

    四:Sets类型

    1、 sadd:向key对应的set集合中添加元素,返回1表示添加成功,返回0 表示失败
    127.0.0.1:6379> sadd myset1 one
    (integer) 1
    127.0.0.1:6379> sadd myset1 two
    (integer) 1
    2、Smembers:查看set集合中的元素
    127.0.0.1:6379> smembers myset1
    1) "two"
    2) "one"
    3、srem:删除key对应set集合中的元素,返回1表示删除成功 0表示失败
    127.0.0.1:6379> srem myset1 two
    (integer) 1
    4、spop:随机删除set中的一个元素并返回该元素
    127.0.0.1:6379> smembers myset1
    1) "three"
    2) "one"
    3) "four"
    127.0.0.1:6379> spop myset1
    "four"
    127.0.0.1:6379> smembers myset1
    1) "three"
    2) "one"
    5、sdiff:返回给定set集合的差集 (以在前的set集合为标准)
    127.0.0.1:6379> smembers myset1
    1) "three"
    2) "one"
    127.0.0.1:6379> smembers myset2
    1) "two"
    2) "one"
    127.0.0.1:6379> sdiff myset1 myset2
    1) "three"
    127.0.0.1:6379> sdiff myset2 myset1
    1) "two"
    6、sdiffstore:返回所有给定set集合的差集,并将差集添加到另外一个集合中
    127.0.0.1:6379> smembers myset1
    1) "three"
    2) "one"
    127.0.0.1:6379> smembers myset2
    1) "two"
    2) "one"
    127.0.0.1:6379> sdiffstore myset3 myset1 myset2
    (integer) 1
    127.0.0.1:6379> smembers myset3
    1) "three"
    7、sinter:返回所有给定集合的交集
    127.0.0.1:6379> smembers myset1
    1) "three"
    2) "one"
    127.0.0.1:6379> smembers myset2
    1) "two"
    2) "one"
    127.0.0.1:6379> sinter myset1 myset2
    1) "one"
    8、sinterstore:返回所有给定集合key的交集,并将结果存为另一个key
    127.0.0.1:6379> smembers myset1
    1) "three"
    2) "one"
    127.0.0.1:6379> smembers myset2
    1) "two"
    2) "one"
    127.0.0.1:6379> sinterstore myset4 myset1  myset2
    (integer) 1 
    9、返回所有给定集合的并集
    127.0.0.1:6379> smembers myset1
    1) "three"
    2) "one"
    127.0.0.1:6379> smembers myset2
    1) "two"
    2) "one"
    127.0.0.1:6379> sunion myset1 myset2
    1) "three"
    2) "two"
    3) "one"
    10、sunionstore 返回所有给定集合的并集,并将结果存入另一个集合
    127.0.0.1:6379> smembers myset1
    1) "three"
    2) "one"
    127.0.0.1:6379> smembers myset2
    1) "two"
    2) "one"
    127.0.0.1:6379> sunionstore myset5  myset1 myset2
    (integer) 3
    11、smove:从第一个集合中移除元素并将该元素添加到另一个集合中。
    127.0.0.1:6379> smembers myset1
    1) "three"
    2) "one"
    127.0.0.1:6379> smembers myset5
    1) "three"
    2) "two"
    3) "one"
    127.0.0.1:6379> smove myset5 myset1 two
    (integer) 1
    127.0.0.1:6379> smembers myset5
    1) "three"
    2) "one"
    127.0.0.1:6379> smembers myset1
    1) "three"
    2) "two"
    3) "one"
    12、Scard:返回set集合中元素的个数
    127.0.0.1:6379> smembers myset1
    1) "three"
    2) "two"
    3) "one"
    127.0.0.1:6379> scard myset1
    (integer) 3
    13、sismember:测试member元素是否是名称为key的set集合 返回1:表示是 0:不是
    127.0.0.1:6379> smembers myset1
    1) "three"
    2) "two"
    3) "one"
    127.0.0.1:6379> sismember myset1 tree
    (integer) 0
    127.0.0.1:6379> sismember myset1 three
    (integer) 1
    14、srandmember:随机返回set集合中的一个元素,但不删除该元素
    127.0.0.1:6379> smembers myset1
    1) "three"
    2) "two"
    3) "one"
    127.0.0.1:6379>  srandmember myset1
    "one"

    五:Sorted sets类型

    1、 sadd:向key对应的set集合中添加元素,返回1表示添加成功,返回0 表示失败
    127.0.0.1:6379> sadd myset1 one
    (integer) 1
    127.0.0.1:6379> sadd myset1 two
    (integer) 1
    2、Smembers:查看set集合中的元素
    127.0.0.1:6379> smembers myset1
    1) "two"
    2) "one"
    3、srem:删除key对应set集合中的元素,返回1表示删除成功 0表示失败
    127.0.0.1:6379> srem myset1 two
    (integer) 1
    4、spop:随机删除set中的一个元素并返回该元素
    127.0.0.1:6379> smembers myset1
    1) "three"
    2) "one"
    3) "four"
    127.0.0.1:6379> spop myset1
    "four"
    127.0.0.1:6379> smembers myset1
    1) "three"
    2) "one"
    5、sdiff:返回给定set集合的差集 (以在前的set集合为标准)
    127.0.0.1:6379> smembers myset1
    1) "three"
    2) "one"
    127.0.0.1:6379> smembers myset2
    1) "two"
    2) "one"
    127.0.0.1:6379> sdiff myset1 myset2
    1) "three"
    127.0.0.1:6379> sdiff myset2 myset1
    1) "two"
    6、sdiffstore:返回所有给定set集合的差集,并将差集添加到另外一个集合中
    127.0.0.1:6379> smembers myset1
    1) "three"
    2) "one"
    127.0.0.1:6379> smembers myset2
    1) "two"
    2) "one"
    127.0.0.1:6379> sdiffstore myset3 myset1 myset2
    (integer) 1
    127.0.0.1:6379> smembers myset3
    1) "three"
    7、sinter:返回所有给定集合的交集
    127.0.0.1:6379> smembers myset1
    1) "three"
    2) "one"
    127.0.0.1:6379> smembers myset2
    1) "two"
    2) "one"
    127.0.0.1:6379> sinter myset1 myset2
    1) "one"
    8、sinterstore:返回所有给定集合key的交集,并将结果存为另一个key
    127.0.0.1:6379> smembers myset1
    1) "three"
    2) "one"
    127.0.0.1:6379> smembers myset2
    1) "two"
    2) "one"
    127.0.0.1:6379> sinterstore myset4 myset1  myset2
    (integer) 1 
    9、返回所有给定集合的并集
    127.0.0.1:6379> smembers myset1
    1) "three"
    2) "one"
    127.0.0.1:6379> smembers myset2
    1) "two"
    2) "one"
    127.0.0.1:6379> sunion myset1 myset2
    1) "three"
    2) "two"
    3) "one"
    10、sunionstore 返回所有给定集合的并集,并将结果存入另一个集合
    127.0.0.1:6379> smembers myset1
    1) "three"
    2) "one"
    127.0.0.1:6379> smembers myset2
    1) "two"
    2) "one"
    127.0.0.1:6379> sunionstore myset5  myset1 myset2
    (integer) 3
    11、smove:从第一个集合中移除元素并将该元素添加到另一个集合中。
    127.0.0.1:6379> smembers myset1
    1) "three"
    2) "one"
    127.0.0.1:6379> smembers myset5
    1) "three"
    2) "two"
    3) "one"
    127.0.0.1:6379> smove myset5 myset1 two
    (integer) 1
    127.0.0.1:6379> smembers myset5
    1) "three"
    2) "one"
    127.0.0.1:6379> smembers myset1
    1) "three"
    2) "two"
    3) "one"
    12、Scard:返回set集合中元素的个数
    127.0.0.1:6379> smembers myset1
    1) "three"
    2) "two"
    3) "one"
    127.0.0.1:6379> scard myset1
    (integer) 3
    13、sismember:测试member元素是否是名称为key的set集合 返回1:表示是 0:不是
    127.0.0.1:6379> smembers myset1
    1) "three"
    2) "two"
    3) "one"
    127.0.0.1:6379> sismember myset1 tree
    (integer) 0
    127.0.0.1:6379> sismember myset1 three
    (integer) 1
    14、srandmember:随机返回set集合中的一个元素,但不删除该元素
    127.0.0.1:6379> smembers myset1
    1) "three"
    2) "two"
    3) "one"
    127.0.0.1:6379>  srandmember myset1
    "one"
  • 相关阅读:
    windows下plsql 设置 里面timestamp显示的格式
    HypericHQ
    POJ 3132 &amp; ZOJ 2822 Sum of Different Primes(dp)
    Fragment为载体可自己主动布局的CardView(GitHub上写开源项目初体验)
    Eclipse下配置Ant脚本 自己主动打包带签名的Android apk
    王立平--eclipse本地配置svn
    UVALive
    [Redis专辑][1]ubuntu12.04下安装php-redis的方法和步骤
    MapReduce&#160;图解流程
    打印1到最大的n位数
  • 原文地址:https://www.cnblogs.com/1315925303zxz/p/6415864.html
Copyright © 2020-2023  润新知