常用redis命令

存储:set key value
set name opt
批量存储:mset key1 value1 key2 value2
mset name linux age 5
获取:get key 
get name
批量获取:mget key1 key2
mget name age
查看相关操作:help set|get
查看redis相关信息:info
判断有没有key值:exists key(存在即为1,不存在即为0)
exists name
删除给定key:del key1 key2
del name age
返回给定的key的value类型:type key
type name
返回匹配指定模式的所有key:keys *
keys name*
改名字:rename oldkey newkey
rename name Name
返回当前数据库的key数量:dbsize
为key指定过期时间:expire key seconds
返回key的剩余过期秒数:ttl key
选择数据库:select db-index
select 15 默认16个库0-15
将key从当前数据库移动到指定数据库:move key db-index
删除当前数据库中所有的key:flushdb
删除所有数据库中的所有key:flushall
设置key对应的值为string类型的value:set key value
set name sting
对key值做加操作,并返回新的值:incr key
incr age
对key值做减操作,并返回新的值:decr key
decr age
对key增加指定的值:incrby age 5
对key减少指定的值:incrby age 5
给指定key的字符串追加值:append key value
append name centos  name原来的值为linux,则name的值为linuxcentos
返回截取的key的字符串:substr key start end
从0开始,substr name 0 5

redis停止
./redis-cli客户端里面使用shutdown停止后exit退出
或者命令行直接killall redis-server

List:双向链表
先进后出是栈,先进先出是队列
在key对应list的头部添加字符串元素:lpush key string 可以添加多个元素
lpush name xiaoming
在key对应list的尾部添加字符串元素:rpush key string 可以添加多个元素
在list的尾部删除元素,并返回删除的元素:rpop key
在list的头部删除元素,并返回删除的元素:lpop key
对应list的长度,key不存在返回0,如果key对应类型不是list,返回错误:llen key
返回指定区间内的元素,下标从0开始:lrange key start end
lrange name 0 2
截取list,保留指定区间内的元素:ltrim key start end

set:无序集合
sadd xiaomingFR   xiaohong  xiaoqiang  xiaogang  xiaohei  xiaobai
sadd xiaohongFR   xiaoming  xiaolv  xiaolan  xiaobai  xiaohei
添加一个string元素到key对应的set集合中,成功返回1,如果元素已经在集合中,返回0,key对应的set不存在返回错误:sadd key member
从key对应set中移除给定元素,成功返回1:srem key member [member]
从p1对应set中移除member并添加到p2对应set中:smove p1 p2 member
返回set的元素个数:scard key
判断member是否在set中:sismember key member
返回所有给定key的交集:sinter key1 key2 keyN
sinter xiaomingFR xiaohongFR
返回所有给的key的并集:sunion key1 key2 keyN
sunion xiaomingFR xiaohongFR
返回所有给的key的差集:sdiff key1 key2 keyN
sdiff xiaomingFR xiaohongFR
返回key对应set的所有元素,结果是无序的:smembers key
从key中移除元素:srem key string
srem xiaomingFR xiaoqing
判断元素是否在key中:sismember key string
sismember xiaomingFR xiaoqiang
将元素从key1中移动到key2:smove key1 key2 string
smove xiaomingFR xiaohongFR xiaogang
查看key中的元素个数:scard key
scard xiaomingFR

zset:有序集合,元素不允许重复,通过权值可以有序的获取集合中的元素
zadd hottop 2 QQ 3 wechat 5 alipay 7 taobao 8 jd 10 king
添加元素到集合,元素在集合中存在则更新对应score
zadd key score member
删除指定元素,1表示成功,如果元素不存在返回0:zrem key member
按照incr幅度增加对应member的score值,返回score值:zincrby key incr member
zincrby hotTop -2 jd
返回指定元素在集合中的排名(下标),集合中元素是按score从小到大排序的:zrank key member
同上,但是集合中元素是按score从大到小排序:zrevrank key member
类似lrange操作从集合中取指定区间的元素,返回的是有序结果:zrange key start end
zrange hotTop 0 4
同上,返回结果是按score逆序的:zrevrange key start end
zrevrange hotTop 0 4
返回集合中元素个数:zcard key
返回给定元素对应的score:zscore key member
zscore hotTop jd
删除集合中排名在指定区间的元素:zremrangebyrank key min max

hash:使用hash结构,压缩效率和使用效率更高,Key:value(field:value)
设置hash field为指定值,如果key不存在,则先创建:hset key field value
hset name username dev
获取指定的hash field:hget key field
hget info phone
获取全部指定的hash field:hmget key field1 field2 fieldN
hmget info username age phone
同时设置hash的多个field:hmset key field1 value1 field2 value2
hmset info username devops age 13 phone 12345678910 job java
将指定的hash field加上给定值:hincrby key field integer
测试指定field是否存在,存在返回1,不存在返回0:hexists key field
hexist info age
删除指定的hash field:hdel key field
hdel info job
返回hash的所有field:hkeys key
hkeys info
返回指定hash的field数量:hlen key
hlen info
返回hash的所有value:hvals key
hvals info
返回hash的所有field和value:hgetall key
hgetall info
posted @ 2024-02-06 16:57  村尚chun叔  阅读(11)  评论(0编辑  收藏  举报