Redis:(一)五大基本数据类型常用命令
作者:互联网
库命令
select 1 # 切换到1号数据库 dbsize # 查看当前数据库的数据数量 keys * # 查看当前数据库的所有key flushdb # 清空当前数据库 flushall # 清空所有数据库
String(字符串)
set name liuyu # 存入一个key为name,值为liuyu的k-v数据 get name # 将返回这个key对应的value exits name # 判断当前key是否存在,存在返回1 否则返回0 move name 1 # 移动这个k-v到指定数据库 expire name 10 # 给k-v设置过期时间为10秒 ttl name # 查看这个k-v的有效时间 type name # 查看当前key的类型 append name "hh" # 在key对应的值后边拼接字符串,如果key不存在,则相当于set strlen name # 查看这个key对应value的长度 set views 0 # 这里设置一个整数 incr views # 自增1 decr views # 自减1 incrby views 5 # 自增5 decrby views 5 # 自减5 getrange name 1 2 # 返回指定下标范围的值 getrange name 0 -1 # 返回整个值 setrange name 1 ab # 将下标为1的值替换为ab setex name1 10 "aaa" # 如果name1不存在则创建,如果存在则覆盖,并设置10秒过期, 具有原子性。 setnx name2 bbb # 如果不存在这个key则创建成功并返回1,否则返回0 mset k1 v1 k2 v2 k3 v3 # 批量设置多个k-v mget k1 k2 k3 # 批量返回相应key对应的value msetnx k1 v1 k4 v4 # 批量不存在时设置,具有原子性,如此时k1存在但k4不存在,依旧设置失败返回0 set user:1 {name:liuyu,age:10} # 设置一个对象 mset user:1:name liuyu user:1:age 10 # 效果同上 getset name ccc # 先get再set,不存在时返回nil,但set依旧生效,存在则覆盖
List(列表)
lpush list one # 往list左侧插入值 lrange list 0 -1 # 返回list中所有值 rpush list four # 往右侧插入值 lpop list # 移除list左侧元素,并返回该元素 rpop list # 移除list右侧元素,并返回该元素 lindex list 0 # 获取list中指定下标为0的值 llen list # 返回list的长度 lrem list 1 value # 移除list中指定个数的value值 ltrim list 1 2 # 截断list,保留指定下标的值 rpoplpush list hello # 从list右侧移除一个元素并返回,且将该元素插入list exists list # 判断list是否存在,存在返回1,不存在返回0 lset list 0 hello # 修改列表指定位置的值,需要列表和该位置不为空,否则报错 linsert list v1 before v0 # 往list列表的v0前边插入v1 linsert list v1 after v2 # 往list列表的v2后边插入v1
Set(集合)
无序且不重复。
应用:共同关注,二度好友(六度分割理论)
sadd myset "hello" # set集合中添加元素 smembers myset # 查看指定set的所有值 sismember myset hello # 判断某一个值是不是存在set集合中(如果存在,返回1,否则返回0) scard myset # 获取set集合中的元素个数 srem myset "hello" # 移除set集合中的指定元素 srandmember myset # 随机抽选出一个元素 spop myset # 随机删除一些set集合中的元素 smove myset myset2 "hello" # 将一个指定的值,移动到另一个set集合 sdiff key1 key2 # 求差集 sinter key1 key2 # 求交集(比如用于查找共同好友) sunion key1 key2 # 求并集
Hash(哈希)
应用:更适合对象的存储,经常变动的信息
hset myhash field1 liuyu # set一个具体的key-value hget myhash field1 # 获取一个字段值 hmset myhash field1 hello field2 world # set多个key-value hmget myhash field1 field2 # 获取多个字段值 hgetall myhash # 获取全部数据(包括key) hdel myhash field1 # 删除hash指定的key,对应的value也就没有了 hlen myhash # 获取hash表的字段数量 hexists myhash field1 # 判断hash中指定字段是否存在 hkeys myhash # 只获得所有field hvals myhash # 只获得所有value hincrby myhash field3 1 # 指定增量 hsetnx myhash field4 hello # 如果存在则不能设置
Zset(有序集合)
应用:数据排序,排行榜,带权重判断
zadd myset 1 one # 添加一个值 zrange myset 0 -1 # 查看集合元素 zrangebyscore myset -inf +inf #从小到大排序(-inf为无限小,+inf为无限大) zrevrange salary 0 -1 # 从大到小排序 zrem myset liuyu # 移除有序集合中的指定元素 zcard myset # 获取有序集合中的个数 zcount myset 1 3 # 获取指定区间的元素个数
标签:set,myhash,name,list,myset,Redis,key,常用命令,数据类型 来源: https://www.cnblogs.com/liuyu666/p/14011112.html