色婆ijqwj 发表于 2018-11-4 07:27:43

redis常用数据类型总结

  redis常用数据类型总结
  redis是以键值对key-value的形式来存储数据,而存储的数据类型有5种String,List,Set,Map,以及有序集合
  这五种数据类型操作的命令多有相似,经常混淆,闲暇之余,总结一番。
  类型一:String
  1append key value
  如果key存在,则把value追加到原来的value后面
  如果可以不存在,则以key为键,value为值建立新的。
  2get key
  返回key所关联的字符串。如果key不存在则返回nil
  3bitcount key
  返回给定字符串中,被设置为1的比特位的数量
  4decr key
  key中存储的数字值减一
  5decrby keynum
  key 中所存储的值减去 num
  6getbit key offset
  对key所存储的字符串值,获取指定偏移量上的位
  7getrange keystart end
  返回key中存储的start到end之间的字符串
  8getset key value
  将给定key的值设为value,并返回key原来的值
  9incr 将key中存储的数字值加一
  10incrby keynum
  将key中所存储的值加num
  11mget key1 key2 ...
  返回所有给定key的值
  12mset key1 value1key2 value2...
  同时设置多个键值对
  13setex key seconds value
  设置key value 键值对,并且设置key的生存时间
  14strlen key
  返回key所存储值得长度
  类型二:HASH(哈希)又称散列
  1hset key-name keyvalue
  在名为key-name 的hash表中设置一堆键值对 keyvalue
  2hsetnx key-name key value
  在名为key-name 的hash表中设置一堆键值对 keyvalue,当且仅当key不存在。
  3hmset key-name key1 value1key2 value2 ...
  为名字叫key-name的散列设置多个键值对。
  4hgetkey-namekey
  获得key-name散列表中名字为key的值
  5hmget key-name key1 key2...
  获得名字为key-name的散列表中键为key1 key2 ...的值
  6hgetall key-name
  获得散列包含的所有键值对
  7hvals key -name
  获取散列包含的所有值
  8hkeys key -name
  获取散列包含的所有键
  9hlen key-name
  返回散列包含的键值对数量
  10hdel key-name key1 key2
  删除散列里一个或多个值
  11hincrby key-name key increment
  将名字为key-name的散列中,将键key所存储的值加上整数increment
  类型三:列表(List)
  1lpop key-name
  移除并返回列表key的头元素(最左端的元素)
  2rpop key-name
  移除并返回列表key的尾元素(最右端的元素)
  3lpush key-name value1 value2
  将一个或多个值推入列表的表头(最左端)
  4rpush key-name value1 value2 ...
  将一个或多个值推入列表的尾部(最右端)
  5lpushx key-name value
  将值value插入列表key-name的表头,当且仅当key存在且是列表
  6rpushx key-name value
  将值value插入列表key-name的尾部,当且仅当key存在且是列表
  7ltrim key start stop
  对一个列表进行修剪,保留指定区间内的元素,不再指定区间的元素将被删掉。
  8lset key-nameindex value
  将key-name列表下表为index的值设为value
  9lrange key-name start stop
  返回列表key-name中指定区间内的元素。
  10llen key-name
  返回列表key-name的长度
  类型四:集合(SET)
  1sadd key-name item1 item2...
  将一个或多个元素添加到集合key-name中
  2srem key-name item1 item2
  从集合key-name 里移除一个或多个元素
  3scard key-name
  返回集合包含的所有元素的数量
  4sismember key-nameitem
  判断item元素是否是集合key-name的成员
  5smembers key-name
  返回key-name中的所有成员
  6sdiff key-name1 key-name2 ..
  返回第一个集合和其他集合的差集运算后的元素
  7sinter key-name1 key-name2
  返回那些同时存在于所有集合中的元素,交集运算
  8sunion key-name1 key-name2 ...
  返回至少存在于一个集合中的元素,并集运算
  9smove key-name1 key-name2 item
  将item元素从key-name1集合移动到key-name2集合
  10spop key-name
  移除并返回key-name集合中随机一个元素
  类型五:有序集合
  1zadd key-name score1 member1
  将一个或多个member元素及其分值score添加到key-name集合中
  2zrem key-name member1 member2 ...
  移除有序集和key-name中 一个或多个成员
  3zcard key-name
  返回有序集合的元素数量
  4zrank key-name member
  返回元素member在有序集合里的排名
  5zcount key-name min max
  返回分值介于min max之间的成员数量
  6zscore key-namemember
  返回member成员在key-name有序集合中的分值
  7zrange key-name start stop
  返回有序集合中排名介于start stop之间的元素。
  8zincrby key-name increment member
  在有序集合key-name中为member成员加上增量increment。
  如果有不同见解欢迎大家相互讨论共同进步@_@
  参考有josiah L .carlsonredis in action

页: [1]
查看完整版本: redis常用数据类型总结