Redis基础命令

发布时间:2024年01月11日

目录

SQL 与 NoSQL 的区别?

Redis 为什么那么快?

String

List

Hash

Set

Zset

通用


SQL 与 NoSQL 的区别?


?? ??? ??? ??? ?SQL?? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ??? ?NoSQL
存储结构?? ??? ?二维表格结构?? ??? ??? ??? ??? ??? ??? ??? ??? ?不固定的,通常存储在数据集中(比如键值对、文档、索引、图形结构、时间序列等)
扩展方式?? ??? ?纵向扩展(提升单机硬件性能)?? ??? ??? ??? ??? ?横向扩展(增加服务器节点数量)
事务支持?? ??? ?基于ACID原则,事务控制更稳定,细粒度更高?? ??? ?基于BASE原则,稳定性和细粒度控制方面不如SQL
典型代表?? ??? ?MySQL Oracle SQL-Server PostgreSQL?? ??? ??? ??? ?Redis Memcached MongDB ElasticSearch Prometheus


Redis ? 是 C语言开发的,开源的,基于内存运行的NoSQL
? ? ? ? 数据存储结构 ?键值对(Key/Value ?KV)
?? ??? ?默认端口号 ?TCP/6379
?? ??? ?数据类型: 五大基础类型 ?String(字符串) ? List(列表) ? ?Hash(哈希/散列) ? ?Set(无序集合) ? ?Zset/Sorted Set(有序集合)
?? ??? ? ? ? ? ? ? 三种特殊的数据类型 ?HyperLogLogs(基数统计) ? Bitmaps (位图) ? geospatial (地理位置)


Redis 为什么那么快?

1)redis是基于内存运行的,数据读写都是在内存中完成的
2)数据读写采用单线程模式,避免了多线程切换带来的CPU性能消耗,同时也不要考虑各种锁的问题
3)采用IO多路复用模型,可以使线程处理更多的网络连接请求,提高并发能力

网站性能压测工具 ? ?ab ? jmeter
redis 性能压测工具 ? ?redis-benchmark -h <redis服务地址> -p <服务端口> -a <密码> -c <并发连接数> -n <请求数> -d <数据大小> -t <命令列表> -q
redis 客户端工具 ? ? redis-cli -h <redis服务地址> -p <服务端口> -a <密码> [命令]

String

set 键 值
get 键
del 键


List

lpush|rpush 键 值1 值2 值3 ....
lrange 键 ?起始下标 ? ?终止下标
? ? ? ? ? ?0(第一个) -1(最后一个)
lrem 键 ?元素个数 ?元素值
del 键


Hash

hset 键 字段1 值1 字段2 值2 ....
hget 键 字段
hgetall 键
hkeys 键
hvals 键
hdel 键 字段
del 键


Set

sadd 键 值1 值2 值3 ....
smembers 键
srem 键 值
del 键


Zset

zadd 键 序号1 值1 ?序号2 值2 ....
zrange 键 起始下标 ?终止下标 [withscores]
? ? ? ? ? 0 ? ? ? ? -1
zrangebyscore 键 起始序号 结束序号
zrem 键 值1 值2 ....
zrembyscore 键 ?起始序号 结束序号
del 键


通用

type 键 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?查看键的数据类型
keys 键 * ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?查询键名,支持通配符 * ?
exists 键 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?判断键是否存在
expire 键 过期时间 ? ? ? ? ? ? ? ? ? ? ? ? ? 为已存在的键设置过期时间
setex 键 过期时间 值 ? ? ? ? ? ? ? ? ? ? ? ? 创建string类型的键并设置过期时间
ttl 键 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 查看键的生命周期时间,-1 永不过期,-2 已过期
rename 旧键 新键 ? ? ? ? ? ? ? ? ? ? ? ? ? ? 重命名键名,会覆盖已存在的键
renamenx 旧键 新键 ? ? ? ? ? ? ? ? ? ? ? ? ? 重命名键名,不会覆盖已存在的键
dbsize ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 统计当前库中键的总数
config set requirepass '密码' ? ? ? ? ? ? ? ?设置/修改redis密码
config get requirepass ? ? ? ? ? ? ? ? ? ? ? 查看密码
auth '密码' ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?在redis里验证密码
select 库ID ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?切换库,默认库ID为 0~15
move 键 库ID ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 移动键到指定的库
flushdb ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?清空当前库(慎用)
flushall ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 清空所有库(慎用)

文章来源:https://blog.csdn.net/bob_gem/article/details/135536655
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。