网站首页杂项
redis 数据类型,操作实例
发布时间:2018-06-20编辑:Cary.He
strings 类型(字符串)
set key value 设置键值对
get key 获取key值
setnx key value 设置键值对,如果key存在返回0,否则设置新值
setex key 10 value 设置键值对有效期为10秒
setrange key 6 value 从key的第6个字符后开始替换value
mset key1 value1 key2 value2 ... 同时设置多个键值对
mget key1 key2 key3 ... 获取多个key值
msetnx key1 value1 key2 value2 ... 同时设置多个键值对,如果有一个键值对设置不成功,其他的也会不成功
getset key value 设置key的新值,并返回key的旧值
getrange key 0 6 获取从第0个字符到第6个字符串
incr key 设置key值自增
incrby key 5 指定自增5次,自减 -5
decr key 设置自减key值
decrby key 3 设置指定自减3,自增 -3
append 给指定的key追加value,返回字符串值的长度
strlen key 获取指定key值的长度
hashes类型(哈唏)
格式说明
-----|hash表名称|--字段名称--|--对应的值--|
hset myhash name cary 设置hash值
hget myhash name 获取hash值
hsetnx myhash name cary 设置hash,如果key存在返回0,否则设置新值
hmset myhash name cary sex 1 设置多个值
hmget myhash name sex 批量返回
hincrby myhash sex 5 设置自增
hexists myhash sex 判断某个字段是否存在
hlen myhash 判断字段数量
hdel myhash sex 删除某个字段
hkeys myhash 返回hash表里的所有字段
hvals myhash 返回hash表里的所有value
hgetall myhash 返回hash表里的所有key-value
list类型(列表)
格式说明
lpush mylist hello 从头部添加一个元素(栈)
rpush mylist world 从尾部添加一个元素(队列)
lrange mylist 0 -1 从第一个元素取到最后一个元素
linsert mylist before world zoo 在某个元素前插入一个新元素
lset mylist 0 cary 修改某个元素的值,下标从0开始
lrem mylist 3 world 删除掉三个world,(删除相同一个或者n个元素)
ltrim mylist 1 2 保留指定范围(1 2 表示保留的范围)
lpop mylist 0 -1 从头部弹出元素
rpop mylist 0 -1 从尾部弹出元素
rpoplpush list1 list2 从尾部移除元素,并将元素从头部添加到第二个list中
lindex list 2 获取索引值的元素
llen list 返回key对应list的长度
sets类型(无序集合)
格式说明
sadd myset "hello" 向set添加元素
srem myset one 删除元素
smembers myset 查询
spop myset 随机弹出元素
sdiff myset myset2 取差集(谁在前面就以谁为标准)
sdiffstore myset3 myset myset2 取差集前存入myset3中
sinter myset myset2 取交集
sinterstore myset3 myset myset2 取交集并存入myset3中
sunion myset myset2 取并集
sunionstore myset3 myset myset2 取出并集并存入myset3中
smove myset myset2 "one" 将myset里的one移动到myset2里
scard myset 查看集合元素个数
sismember myset "one" 判断one是否是myset里面的元素
srandmember myset 随机返回集合里的一个元素,但不删除
sorted sets类型 (有序集合) 注:集合中不能存在相同元素
格式说明
zadd myzset 1 "one" 插入元素1为顺序值,one为元素
zrem myzset one 删除有序集合中的一个元素
zrange myzset 0 -1 读取元素从第0个到最后一个
zrange myzset 0 -1 withscores 读取元素并显示顺序号
zincrby myzset 2 one 增加顺序号
zincrby myzset -2 one 减少顺序号
zrank myzset one 返回元素one的索引值
zrevrank myzsetone one 先降序排序再取索引
zrevrange myzset 0 -1 withscores 降序排序
zrangebyscore myzset 2 3 withscores 返回给定范围值元素
zcount myzset 2 3 返回给定范围值元素的个数
zcard myzset 返回集合中的元素个数
zremrangebyrank myzset 2 3 按索引为删除2到3的元素
zremrangebyscore myzset 2 3 按顺序号删除2到3的元素
redis高级应用 注:redis共有16个数据库,从0到15
格式说明
键值命令
keys * 返回所有key,模糊查询
exists name 确认一个key是否存在
del name 删除一个key
expire myzset 10 设置一个key的过期时间为10秒
ttl myzset 不断获取myzset
select 0 选择数据库,默认0数据库
move age 1 将age移动到1数据库
persist age 移动给定key的过期时间
randomkey 随机返回key空间的一个key
rename age new_age 重命名
type age 返回值的类型
服务器命令
ping 测试连接是否存活,返回PONG表示存活
echo lanmp 直接输出lanmp
quit 退出客户端,与exit相同
dbsize 返回当前数据库中key的数目
info 返回redis数据库服务相关信息
config get 实时传储收到的请求
flushdb 清空当前数据库
flushall 删除所有数据库中的所有key
关键字词:redis 数据类型
上一篇: redis 安装配置
下一篇: js 转换json 为对象