Redis常用命令--五大数据类型

几个基本的命令:

exists key              测试指定key是否存在
keys *                                                    查询所有的key
expire key seconds                                为key指定过期时间
ttl key                                                        返回key的过期剩余秒数
del key1 key2….keyN        删除指定key
type key              返回指定key的value类型
keys pattern            返回指定模式的所有key
rename oldkey newkey       改名字
dbsize               返回当前数据路的key数量
select db-index           选择数据库
move key db-index         把key从当前数据库移动到指定数据库
flushdb              删除当前数据库所有key
flushall              删除所有数据库中的所有key

 

2.String类型操作


string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。
string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。
sring类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M


set key value            设置key对应值为string类型的value
get  key                                                  获得指定key的value
del key                                                    删除指定的key
append key value                                 给指定key的字符串追加value
strlen key                                                获取指定key的长度
setex key seconds value      设置key对应值为string类型的value,增加到期时间
mset key1 value1…keyN valueN   一次设置多个key的值
mget key1 …keyN          一次获取多个key的值
incr key              对key的值++操作,并返回新值
decr key              同上,但是做的是–操作
incrby key integer          同incr,加指定值
decrby key integer         同desr,减指定值
incrbyfloat key increment      对key的值增加一个浮点数
substr key start end        返回截取过的key的字符串值 
getrange key start end       获取存储在key上的值的一个子字符串
setrange key offset value      将从start偏移量开始的子串设置指定的值


3.list链表操作(有序,可重复)


Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)。
它的底层实际是个链表

lpush key string           在key对应list的头部添加字符串元素  
rpush key string                        在key对应list的尾部添加字符串元素      
rpop key               在list的尾部删除元素,并返回删除元素       
lpop key                                                   在list的头部删除元素,并返回删除元素 
llen key                 返回对应list的长度
lrange key start end           返回指定区间内的元素,从下表0开始
ltrim key start end            截取list, 保留指定区间内元素
lindex key 下标             获取列表下标对应的指定元素
blpop key[key…] time out        删除,并获得该列的第一元素, 或阻塞,直到有一个可用
brpop key[key…] time out        删除, 并获得该列的最后一个元素, 或阻塞,直到有一个可用
rpoplpush source destination       删除列表中的最后一个元素,将其追加到另一个列表
brpoplpush source destination timeout  弹出一个列表的值,将他推到另一个列表,并返回他,直到有一个可用 可以模拟 队列(先进后出) 和 栈(先进先出) 


4.hash散列操作 


Redis hash 是一个键值对集合。
Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。

hset  key  mapkey mapvalue           set一个hash散列
hget key mapkey                                    获取hash中mapkey 的值
hmset key field[field…]      设置hash字段值
hmget key field[field…]      获取hash里面指定字段的值
hdel key field[field…]        删除一个或多个hash的field
hexists key field          判断field是否存在hash中
hgetall key            从hash中读取全部的域和值
hlen key             获取hash中所有字段的数量
hkeys key             获取hash 中所有field
hvals key             获取hash的所有值
hincrby key field increment    将hash中指定域的值增加给定的值
hincrbyfloat key field increment  将hash中指定域的值增加给定的浮点数
hsetnx key field value       设置hash的一个字段,不存在赋值,存在无效
hstrlen key field          获取hash里面指定field的长度
hscan key cursor         迭代hash里面的元素

 
5.set集合操作(无序,唯一)


Redis的Set是string类型的无序集合。它是通过HashTable实现实现的,

sadd key member             添加一个string元素到key对应的set集合中
smembers key              返回key对应set的所有元素,结果是无序的
sismember key member              判断member是否在set中
scard key                 返回set的元素个数
srem key member                 从key对应set中移除给定元素
srandmember key [count]              从集合中随机获取一个key
spop key[count]                   删除并取得一个集合里面的元素
smove p1 p2 member               从p1对应set中移除给定元素并添加到p2对应set中
sinter key p1 p2…pN              返回所有给定key的交集
sunion key p1 p2…pN               返回所有给定key的并集
sdiff key p1 p2…pN                返回所有给定key 的差集
sinterstore destination key [key….]            获取两个集合的交集,并存储在一个关键的结果集
sunionstore destination key [key…]          合并set集合,并将结果存入新的set里面
sdifferstore destination key[key…]          获取队列的差集,并存储在一个新的结果集
smove source destination member             移动集合里的一个key到另一个集合

 


6.sorted set有序集合操作(有序, 唯一) 

 
Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。
redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。
          注: 在set基础上,加一个score值,之前set是k1 v1 v2 v3,现在zset是k1 score1 v1 score2 v2

有时候还可以这样用,在zset里设置所有元素的score为0,就按元素首字母排序(自动补全) 

zadd key score member      添加元素到集合,元素在集集合中存在则更新应对的score 
zrange key start end       从集合中选择指定区间的元素,返回的是有序集合
从集合中选择指定区间的元素,返回的是有序集合
zrem key member          删除指定元素 
zcount key min max         返回分数范围内的成员变量 
zcard key             返回集合中元素的个数 
zrank key member         返回指定元素在集合中的排名(下标),集合中元素是按score 从小到大排序的 
zrevrank key member          集合中元素是按score从大到小排序的 
zrevrange key start end       同上,返回结果是按score逆序的 
zincrby key incr member       按照incr幅度增加对应member的score值,返回score值 
zscore key member          返回给定元素对应的score 
zremrangebyrank key min max      删除集合中排名在给定区间的元素 
zinterstore distination numkeys   相交多个结果集,导致排序的设置存储在一个新的结果集 
zunionstore destination numberkeys 添加多个排序集合导致排序的设置存储在一个新的结果集,可以实现取得最大值(max),取得最小值(min)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值