redis简单学习

数据类型

string

数据增减

# 增
incr key
# 按给定增
incrby key increment
# 给定小数增
incrbyfloat key increment
# 减
decr key
# 按给定减
decrby key increment

数据时效性设置

setex key seconds value
psetex key milliseconds value

key的设置约定

表名:主键名:主键值:字段值:
order:id:3213213:name:
equip:id:213213:type:
news:id:65435:title:

hash

基本操作

# 添加/修改数据
hset key field value
# 获取数据
hget key field
hgetall key
# 删除数据
hdel key field1 [field2]
# 一次操作多个
hmset key field1 value1 field2 value2
hmget key field1 field2
# 获取哈希表种字段的数量
hlen key
# 判断是否存在
hexists key field
# 获取哈希表种所有的字段名或字段值
hkeys key
hvals key

hash实现购物车(demo)

# 判断field是否已经存在 存在了就不操作 不存在就操作
hsetnx key field value

hash实现抢购

  • 商家id为key
  • 商品id为field
  • 商品数量为value
  • 抢购时降值控制数量
hmset p01 c10 100 c20 200 c30 300
hincrby p01 c10 -1

list

  • 保存多个数据,底层使用双向链表存储结构实现

基本操作

# 添加/修改数据
lpush key value1 [value2]
rpush key value1 [value2]
# 获取数据
lrange key start stop
lindex key index
llen key
# 获取并移除数据
lpop key
rpop key

规定时间类获取并移除数据

blpop key1 [key2] timeout
brpop key1 [key2] timeout

删除数据

lrem key count value
127.0.0.1:6379> rpush 001 a b c d e
(integer) 5
127.0.0.1:6379> lrange 001 0 -1
1) "a"
2) "b"
3) "c"
4) "d"
5) "e"
127.0.0.1:6379> lrem 001 1 d
(integer) 1
127.0.0.1:6379> lrange 001 0 -1
1) "a"
2) "b"
3) "c"
4) "e"
127.0.0.1:6379>

消息日志

不同服务提交日志 顺序

set

基本操作


随机获取/剔除

# 提取了留着
srandmember key [kount]
# 提取了删除
spop key

数据交并差

# 交 并 差
sinter key1 [key2]
sunion key1 [key2]
sdiff key1 [key2]
# 求交 并 差并存储导指定集合
sinterstore destination key1 [key2]
sunionstore destination key1 [key2]
sdiffstore destination key1 [key2]

sorted-set

基本操作

zadd key score1 member1 [score2 member2]
zrange key start stop [withscores]
zrevrange key start stop [withscores]
zrem key member [member]
# 按条件获取数据
zrangebyscore key min max [WITHSCORES] [LIMIT]
zrevrangebyscore key max min [WITHSCORES]
# 条件删除数据
zremrangebyrank key start stop
zremrangebyscore key min max
# 获取集合数据总量
zcard key
zcount key min max
# 集合交、并操作
zinterstore destination numkeys key [key ...]
zunionstore destination numkeys key [key ...]
# 获取数据对应的索引(排名)
zrank key member
zrevrank key member
# score值获取与修改
zscore key member
zincrby key increment member

带权重的任务队列

key操作

# 删除指定key
del key
# 获取key是否存在
exists key
# 获取key的类型
type key
# 为指定key设置有效期
expire key seconds
pexpire key milliseconds
expireat key timestamp
pexpireat key milliseconds-timestamp
# 获取key的有效时间
ttl key
pttl key
# 切换key从时效性转换为永久性
persist key
# 查询key
keys pattern

db基本操作

# 切换数据库
select index
# 其他操作
quit
ping
echo message
# 数据移动(己无不移 他有不移)
move key db
# 数据清除
dbsize
flushdb
flushall

版权声明:本文为weixin_45485719原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。