一、redis常用数据类型操作
1.1redis基于可以(键)的操作
keys *
查看当前数据库中的所有的key值
set k1 erice
set 设置key值 值是string类型
type 查看指定key的数据类型
type k2
exists 判断指定的key是否存在 存在为1 反之为0
exists k1
del 删除指定的key值
del key k3
expire 给key设置过期时间、
expire k1 10
ttl 查看指定key值的存活时间,不存在就为负数
ttl k1
select 切换到指定的数据库
select 0
dbsize 查看当前数据库的key的数量
flushdb 清空当前数据库
flushall 清空所有的数据库
1.2 redis中的string的操作
1.2.2 redis中string的常用命令
set 给key设置string类型的值
如果给一个已经存在的key设置值就是覆盖原来的值
set k1 erice
get 根据key获取对象的value值
get k1
append 在指定key的值后面追加内容
append k1 1234
strlen 获取key的长度
strlen k1
setnx 当key不存在时 value才会设置成功,反之设置失败
setnx k1 miler
incr incr命令操作的值必须是数字类型 incr对key自增1
incr num1
decr 对key进行自减操作
decr num1
incrby 对key进行增加
incrby num1 5 对key进行增加 指定增加5
decrby 对key进行递减 指定减去5
decrby num1 10
1.2.3redis操作string的其他命令
mset 批量设置k-v
mset k1 v1 k2 v2
mget 批量获取值
mget k1 k2 k3
msetnx 只有所有的key都不存在,才会是指,任意一个key存在,都不会设置值
msernx k4 v4 k5 v5
getrange 根据指定区间获取字符串的值 索引值从0开始
getrange name 0 6
setex 设置key值的同时,也设置过期时间
setex k6 20 v6
getset 使用新值替换旧值,但是返回旧值
getset name green
1.3 list的常用命令
lpush 从列表的左边追加yuansu
lpush k1 v1 v2 v3
lrange k1 0 -1 查询表中的所有元素
rpush 从列表的右边追加元素
rpush k1 v4 v5 v6 键是k1 值是v4 v5 v6
lpop 从左边弹出一个值并返回
lpop k1
rpop 从右边弹出一个值并返回
rpop k1
rpoplpush k1 k2 将k1列表最右边的值取出来,追加到k2列表的最右边
lindex 根据指定下标获取元素
lindex k2 2
llen 获取指定列表的长度
llen k2
linsert k2 before s2 v2 在k2列表中的s2元素前面追加元素v2
lrem 从左边删除指定个数的元素
lrem k2 1 s2 从左边删除指定个数的s2
lset 将指定索引位置上的元素替换
lest k2 2 s2 将指定索引位置上的元素替换(将k2列表中2号索引位置上的元素替换成s2)
1.4 set的常用命令
sadd 添加元素
sadd s1 v1 v2 v3 向s1中添加元素 v1 v2 v3
smembers 查询列表中的所有元素
smembers s1 查询s1列表中的所有元素
sismember 判断集合谁否存在某个元素 存在返回1,反之返回0
sismember s1 v7
scard 返回集合中的元素的个数
scard s1
srem 删除集合中指定的元素
srem s1 v1 v2
spop 随机弹出集合中的某个元素
spop s1
srandmember 随机弹出指定个数的元素,但是不会从集合中删除
srandmember s1 2
smove s1 s2 v5 将s1集合中的元素s5移动到s2集合中去
sinter s1 s2 取集合s1 s2 的交集
sunion s1 s2 取s1 s2 的并集
sdiff s2 s1 取s2的补集
1.5 hash的常用命令
hset user id 1 向hash中存储数据 key是user field是id 值是1
hget user id 获取指定的数据
hmset user username eric age 23 批量向hash集合中添加数据
hexists user username 判断key中是否存在指定的field 存在返回1,反之返回0
hkeys user 获取所有的field
hvals user 获取所有的value值
hdel user age 删除指定的field及其对应的值
hincrby user id 1 对指定的field的值进行自增/自减操作 1 自增 -1自减
hsetnx user age 25 给对应的field设置值 如果filed存在设置不成功,如果field不存在,则设置成功
1.6 zset的常用命令
zadd user 99 kobe 88 durant 82 curry 添加元素到zset集合中
zrange user 0 -1 显示zset集合中的所有值(按照分数的升序排序)
zrangebyscore user 80 89 取指定区间的元素
withscores 显示元素对应的分数
zrangebyscore user 80 89 withscores 取指定区间的元素 包括元素对应的分数
zrevrangebyscore user 100 1 显示zset集合中的所有值(按照分数的降序排序)
zincrby user 12 kobe 给指定的元素增加分数
zrem user kobe 删除指定的元素
zcount user 0 100 统计指定分数区间的元素个数
zrank user durant 查询指定元素的排名