目录
redis 是以 key - value 形式存储的 不适合大存储 所有的数据也都是字符串
常用的数据类型有 string list set hash zset
String 常用命令 ↓
set key value 添加数据 \ 修改数据 (如果数据中有空格 需要拿双引号引起来"xxx xx")
get key 查看数据
keys * 查看当前所有数据(正式服务器不能用会炸)改用 scan
del key 删除数据 flushall 删除全部数据
append key 233 在key后面追加233
strlen key 查看key的字符串长度
自增 \ 自减
set num 0 插入一个叫num 值为0的数据
incr num 指定key为num的值 +1
incrby num 10 指定key为num的值 +10
decr num 指定key为num的值 -1
decrby num 10 指定key为num的值 -10
截取 \ 替换
getrange zha 0 3 截取key为zha的值 第0位 到 第三位字符串 下标从0开始 不改变原数据
setrange zha 3 012 替换从3开始的为字符为012 改几位变几位
设置过期时间 \ 不存在
expire key 15 设置 key的过期的时间为15秒 (key已存在)
setex key 15 value 创建 15秒后过期的key
ttl key 查看key的过期时间
插入 \ 查询 多条数据
mset k1 v1 k2 v2 k3 v3 插入多条数据
msetnx k1 v1 k2 v2 (也是插入多条数据但是不能插入已有的数据就比如说已经有k1在插入k1就不行)
mget k1 k2 k3 查询k1 k2 k3 的数据
查询创建\替换
getset name zhazha 先get 再 set 如果没有就创建 如果有就就替换
List 常用命令↓
lpush 左插入
rpush 右插入
lrange 查询集合
lpop 左移除 从第一个元素起
rpop 右移除 从第一个元素起
lindex key index 获取集合下指定的下标元素 从0开始
llen key 获取集合长度
lrem tt 1 a1 移除tt集合里的 一个 a1 的值
ltrim 限制长度 (截取) ltrim key 0 5 只要 0到5的数 也可以是 1 到 6 的数
rpoplpush tt newtt 剪切 tt集合 里最后一个值到 newtt 集合了
lset 替换(更新) lset tt 1 new1 替换 tt 集合里下标为 1 的值为 new1
linsert tt after \ (before) a1 aa1 在 tt 集合里 值为a1的之后(之前) 加上aa1元素
Set(集合) 元素唯一不重复
sadd setx 123 456 678 添加一个名为setx的集合
smembers setx 查看setx集合里所有的元素
sismember setx 111 判断111是否存在setx里
scard setx 查看长度
srem setx 123 移除setx集合里的123
srandmember setx 1 随机抽取 setx集合里的 一个数 也可以是 两个 三个 属 默认是一个
spop setx 1 随机删除setx集合里的一个元素
smove setx setxx 2 把setx里的2移动到新的setxx里
sdiff setx setxx 查找setx 和 setxx 的 差集
sinter setx setxx 查找setx 和 setxx 的 交集
sunion setx setxx 查找setx 和 setxx 的 并集
Hash 哈希
hset hashx name zhangsan age 18 添加hash 名 和 年龄
hget hashx name 查询hashx里 key 是name 的 值
hgetall hashx 查询shshx 里 所有值 key 和 value
hdel hashx age 删除hashx里的gae 可以删除 多个
hlen hashx 获取hashx的长度
hexists hashx name 判断 hashx里是否 有 name 存在 1存在 0不存在
hkeys hashx 获取 hashx 里所有的key
hvals hashx 获取 hashx 里所有的value
hincrby hashx age 2\(-n) 给hashx 里的age 值 加数 或则 减数
hsetnx hashx fathername zhangmazi 单个添加不存在的
zset 有序集合
zadd zsetx 1 a 2 b 3 c 4 d 添加
zrange zsetx 0 -1 查询zsetx里的全部
zrangebyscore zsetx -inf +inf 由key的小到大排列 也可以换成数字 0 2 小于等于2
zrevrange zsetx 0 -1 由key的大到小排列
zrangebyscore zsetx -inf +inf withscores 查询 zsetx 里所有的k和v
zrem zsetx a 指定移除zsetx里的a值
zcard zsetx 查询zsetx的长度
zcount zsetx 0 20 查询zsetx 区间内的元素个数