Redis:redis常用操作命令
redis登录
#登录命令 -h 登录地址 -p 端口 ./redis-cli -h 127.0.0.1 -p 6379
查看缓存大小
#查看缓存大小
dbsize
查看所有Key
#获取所有的key
keys *
判断key是否存在
#判断key是否存在
exists key
查看key的数据类型
# 查看key的数据类型
type key
删除key数据
# 删除key数据
del key
异步删除key数据
仅仅将keys从keyspace元数据中删除,真正的删除会在后续异步操作。
#异步删除key unlink key
指定key设置过期时间
#指定key设置过期时间(秒) expire key 10
查看key的所剩有效时间
# 查看key的剩余时长(秒)( -1 表示永不过期 -2 表示已过期 )
ttl key
切换数据库
#指定第一个库 0 1 2 3 4 ..... select 0
清除当前库
#清除当前库 flushdb
清除所有数据
#清除所有数据 flushall
退出redis
#退出 exit
= = = String数据类型操作 = = =
key的字符串没有限制,但是value的字符串最大长度为512M.
添加key,String数据
#添加key,String
set key value
查看key,String数据
#查看key,String数据
get backup0
value值追加字符串
#在value值的末尾追加字符串
append key value
获取value值的长度
#获取value值的长度
strlen key
key不存在时添加value
#当key不存在时,添加key value值
setnx key value
value数值自增1
# 当value为数值时,value自增加1,value为空,新增值为1
incr key
value数值自减1
# 当value为数值时,value自减1,value为空,自减值为-1 decr key
添加多个键值对
#一次添加多个键值对
msetnx key1 value1 key2 value2 key3 value3
查看多个key的值
# 一次查看多个key的值
mget key1 key2 key3
添加多个键值对( key必须不存在 )
#添加多个键值对,key必须是不存在,并且添加保持原子性,一条失败全部失败
msetnx key1 value1 key2 value2 key3 value3
查看value截取某段的值
#类似java的字符串截取 substring, 截取某段的数据显示(包含下标位)
getrange key index0 index1
覆盖value指定某段的值
#指定覆盖value某段的值
setrange key index value
添加值时设置过期时长
#添加key,value时设置过期时长(秒)
setex key seconds value
修改value值同时返回旧值
#覆盖旧值的同时返回旧值
getset key value
= = = List数据类型操作 = = =
List的数据结构为快速链表quickList,但是在元素较少时会使用一块连续的内存空间存储,这个结构是zipList(压缩列表)
从左侧插入多个值
#从List链表左侧插入一个或多个值
lpush key value1 value2 value3 value4
从右侧插入多个值
#从List链表右侧插入一个或多个值
rpush key value1 value2 value3 value4
从左侧删除并返回一个值
#删除左侧一个值并返回删除的值数据
lpop key
从右侧删除并返回一个值
#删除右侧一个值并返回删除的值数据 rpop key
删除key1右侧一个值插入key2左侧
#删除key1列表右侧一个值,并插入到key2列表的左侧
rpoplpush key1 key2
查看列表数据
#查看指定下标段的数据 (查看列表所有数据:0 -1) 0:左边第一个 -1:右边第一个 lrange key index0 index1
查看列表指定下标的数据
#查看列表内指定下标的数据(从左到右)
lindex key index
查看列表长度
#查看列表长度
llen key
列表内某值的前方插入值
#指定在列表的某个值前方插入一个值
linsert key before value newvalue
列表内某值的后方插入值
#指定在列表的某个值后方插入一个值
linsert key after value newvalue
从列表左删除相同检索值的数据
#从列表左边查看与检索值一致的n个数据进行删除
lrem key num value
指定列表下标进行修改值
#修改列表指定下标的值
lset key index value
= = = Set数据类型操作 = = =
set数据结构是dict字典,字典是用hash表实现的
存储插入set集合
如果存入的值与集合内数据重复,存入值不生效
# set集合插入多个或一个值
sadd key value1 value2 value3
查看set集合内所有值
# 查询set集合key的所有值
smembers key
判断某值是否存在set集合内
# 判断值是否存在集合内 存在:1 不存在:0 sismember key value
查看集合内元素个数
# 查看集合内元素的个数
scard key
删除集合内某个元素
# 删除集合内某些值
srem key value1 value2 value3
删除集合内随机一个值并返回
# 删除并获取集合内随机一个值
spop key
随机查询集合内n个值
# 查询集合内随机n个值
srandmember key n
将key1集合的某个值转移都key2集合
# 指定值进行集合内转移
smove key1 key2 value1
查看两个集合的交集元素
# 查看交集元素
sinter key1 key2
查看两个集合的并集元素(去重)
# 查看并集元素(去重)
sunion key1 key2
查看两个集合的差集元素(key2)
# 查看key2集合对比key1集合的差集(key1中包含 但是key2不包含的元素)
sdiff key1 key2
= = = Hash数据类型操作 = = =
Hash是键值对对象存储,string类型的field和value映射表
存储多个field value对象
# 存储单个或多个field value
hmset key field1 value1 field2 value2 field3 value3
更新对象内某field的值
# 修改对象内某field的值
hset key field value
查看对象内某field的值
# 查看对象内某field的值
hget key field
判断对象内某field是否存在
# 判断对象内某field是否存在
hexists key field
查看对象内所有field
# 查看对象内所有field
hkeys key
查看对象内所有value
# 查看对象内所有value
hvals key
对象内添加新的field
# 对象内添加新的field
hsetnx key field value
= = = Zset有序集合类型操作 = = =
添加多个key value键值对
# 添加多个键值对 score表示唯一值(用于排序) 一般存储时间戳
zadd key score1 value1 score2 value2 score3 value3
查看集合内的下标区间的值
# 查看集合内下标区间的值 查看所有的值 0 -1
zrange key 0 -1
查看集合内的下标区间的值(含score)
# 查看集合内下标区间的值 查看所有的值 0 -1 包含score
zrange key 0 -1 withscores
查看从小到大排序后的数据
# 从小到大依次显示集合内数据(score区间)全部显示 0 -1
zrangebyscore key min max
# 从小到大依次显示集合内数据(包含score)
zrangebyscore key min max withscores
# 从小到大依次显示集合内数据(包含score)取start起始下标的n条数据
zrangebyscore key min max withscores limit start n
查看从大到小排序后的数据
# 从大到小依次显示集合内数据(score区间)
zrevrangebyscore key max min
# 从大到小依次显示集合内数据(包含score)
zrevrangebyscore key max min withscores
# 从大到小依次显示集合内数据(包含score)取start起始下标的n条数据
zrevrangebyscore key max min withscores limit start n
删除集合内指定元素
-----------------------------------
作者:怒吼的萝卜
链接:http://www.cnblogs.com/nhdlb/
-----------------------------------