笔记:Redis的基本使用

Redis学习笔记

Redis是单线程+多路I0复用技术

多路复用是指使用一个线程来检查多个文件描述符(Socket) 的就绪状态,比如调用select和polI函数,传入多个文件描述符,如果有一个文件描述符就绪,则返回,否则阻塞直到超时。得到就绪状态后进行真正的操作可以在同一个线程里执行,也可以启动线程执行(比如使用线程池)。

五大数据操作基本命令

String

选择数据库,Redis有16个数据库编号从0开始,默认第一个使用第一个数据库:
select 0
添加键值对:
set <key> <value>
查询对应键值:
get <key>
将给定的值追加到原值的末尾:
append <key> <value>
获得值的长度:
strlen <key>
key不存在则赋值:
setnx <key> <value>
将key存储的数字值增1
incr <key>
减1:
decr <key>
自定义增减数:
incrby|decrby <key> <步长>
设置多个key-value对:
mset <key1> <value1> <key2> <value2>
获取多个key-value对:
mget <key1> <value1> <key2> <value2>
设置多个key-value对,当且仅当所有key不存在:
msetnx <key1> <value1> <key2> <value2>
获取key对应值的范围:
getrange <key> <起始> <结束>
从起始位置开始覆写value:
setrange <key> <起始> <value>
设置键值同时设置过期时间:
setex <key> <过期时间> <value>
设置新值同时获得旧值:
getset <key> <value>
查询当前库所有键:
keys *
判断键的存在:
exists <key>
结果返回(integer) 1代表true
结果返回(integer) 0代表false
查看键的类型:
type <key>
删除某键:
del <key>
为键值设置过期时间秒为单位:
expire <key> <second>
查看还有多少秒过期(返回-1代表永不过期,返回-2代表已过期):
ttl <key>
查看当前数据库key的数量:
dbsize
清空当前库:(火车票买好)
flushdb
通杀全部库:(飞机票买好)
flushall

List

从左边/右边插入一个或多个值:
lpush|rpush <key> <value1> <value2>
从左边/右边吐出一个值:
lpop|rpop <key>
从key1列表右边吐出一个值假如到key2左边:
rpoplpush <key1> <key2>
按照索引下标获得元素(从左到右):
lrange <key> <start> <stop>
lindex <key> <index>
获得列表长度:
llen <key>
在value前面/后面插入newvalue:
linsert <key> before|after <value> <newvalue>
从左边删除n个value(n为正时从左往右删,负从右往左,0全删):
lrem <key> <n> <value>

Set

添加一个或多个member元素加入到集合key中,已存在的元素会被忽略:
sadd <key> <value1> <value2>
取出该集合所有值:
smembers <key>
判断集合key是否含有该value:
sismember <key> <value>
返回集合元素个数:
scard <key>
删除某元素:
srem <key> <value1> <value2>
随机吐出值:
spop <key>
随机取n个值,且不会删除:
srandmember <key> <n>
返回两个集合交集/并集/差集:
sinter|sunion|sdiff <key1> <key2>

Hash(类似java中Map<String,String>)

给集合中的field键赋值value:
hset <key> <field> <value>
取value:
hget <key> <field>
批量设置hash值:
hmset <key1> <>field1> <value1> <field2> <value2>
key中是否存在field:
hexist <key> <field>
列出该集合所有field/value:
hkeys|hvals <key>
为value值加上增量:
hincrby <key> <field> <increment>
当且仅当field不存在时,将field值设为value:
hsetnx <key> <field> <value>

Zset

将一个或多个member元素及其score值添加到集合里:
zadd <key> <score1> <value1> <score2> <value2>
根据下标返回元素(带withscores,可以让分数和值一起返回):
zrange <key> <start> <stop>
返回集合中所有score值介于min和max之间次序排列:
zrangebyscore <key> min max
同上,改为从大到小排序:
zrevrangebyscore key max min
为元素的score加上增量:
zincrby <key> <increment> <value>
删除指定值的元素:
zrem <key> <value>
统计分数区间内元素个数:
zcount <key> <min> <max>
返回该值在集合中的排名,从0开始:
zrank <key> <value>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
本周我们使用 Redis 进行了一些实例操作,并进行了相关笔记记录。 首先,我们了解了 Redis基本概念和特点。Redis 是一种高性能的键值存储系统,它以内存为主存储方式,可以实现快速的读写操作,同时还提供了多种数据结构的支持,如字符串、哈希、列表、集合等,能够满足不同场景下的存储需求。 在实践中,我们首先进行了 Redis 的安装和配置。我们按照官方文档的指引,下载并安装了 Redis,然后对其进行了简单的配置,包括设置监听端口、配置密码等。同时,我们还学习了一些常用的命令,如 SET、GET、DEL 等,以及相关的配置文件参数的含义。 接着,我们进行了一些基本操作的练习。比如,我们通过命令向 Redis 中新增了一些键值对,并进行了查询和删除操作。我们还尝试了一些 Redis 的高级特性,如使用哈希结构存储和获取数据,并使用列表结构实现了简单的消息队列。 此外,我们还了解了 Redis 的持久化机制。Redis 提供了两种持久化方式,分别是 RDB(快照)和 AOF(追加式文件),可以将内存中的数据定期或根据日志保存到硬盘中,以防止数据丢失。 总结而言,本周我们对 Redis 进行了初步的学习和实践。我们了解了 Redis基本概念、安装配置以及常用操作命令,并进行了简单的实例操作。通过这些学习,我们对 Redis使用有了一定的了解,并在后续的工作中可以更好地应用它来解决实际问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值