网站建设电话销售说不需要,如何做黑客攻击网站,网站开发程序员自学,企业所得税会计分录redis 基础概念安装使用基础操作命令数据类型操作命令 管理和维护命令 基础概念
Remote Dictionary Server#xff08;Redis#xff09;远程字典服务器是完全开源免费的#xff0c;用C语言编写的#xff0c;遵守BSD开源协议#xff0c;是一个高性能的#xff08;key/val… redis 基础概念安装使用基础操作命令数据类型操作命令 管理和维护命令 基础概念
Remote Dictionary ServerRedis远程字典服务器是完全开源免费的用C语言编写的遵守BSD开源协议是一个高性能的key/value分布式内存数据库基于内存运行,并支持持久化的NoSQL非关系型数据库它也通常被称为数据结构服务器因为值value可以是字符串String哈希Map列表list 集合sets和有序集合sorted sets等类型。。
Redis的主要特点
高性能Redis通过将数据存储在内存中提供了极快的读写速度。多种数据类型支持丰富的数据类型如字符串、列表、集合、有序集合和哈希。持久化虽然Redis主要是内存数据库但它提供了多种持久化选项包括RDB快照和AOFAppend Only File日志。高可用性通过主从复制和Redis Sentinel实现高可用性确保数据的可靠性和服务的连续性。分布式支持Redis Cluster允许数据分布在多个节点上实现水平扩展。
常见应用场景
缓存由于其高性能Redis常用于缓存层加速应用的响应速度。会话存储许多网站使用Redis来存储用户会话信息。排行榜和计数器利用有序集合和其他数据结构Redis可以方便地实现排行榜和计数器功能。发布/订阅Redis的发布/订阅功能可以用于实时消息传递。队列通过列表和集合Redis可以实现高效的队列管理。
redis可以在特定应用场景下作为rabbimq和memcached的替代。 使用Redis而不是memcached来解决问题不仅可以让代码变得更简短、更易懂、更易维护而且还可以使代码的运行速度更快因为用户不需要通过读取数据库来更新数据。除此之外在其他许多情况下Redis的效率和易用性也比关系数据库要好得多。
什么数据会存到Redis数据库中主要是热点数据不会经常改变的一般是常量。比如登录验证的Cookie购物车历史浏览记录。只要具有一定时间的生命周期比如首页的商品信息一般不会变。比如秒杀的商品信息一般也不会变。比如地图的经纬度信息一般也不会变。
安装使用
ubuntu2404环境
apt install -y redissystemctl enable --now redis-server官网命令手册
redis数据库不区分大小写并且输入命令会有提示
基础操作命令
连接到Redis服务器
redis-cli -h 127.0.0.1 -p 6379roothuhy:~# redis-cli -h 127.0.0.1 -p 6379
127.0.0.1:6379字符串
设置键值对并获取key是键huhy就是值对
127.0.0.1:6379 set key huhy
OK
127.0.0.1:6379 get key
huhy
127.0.0.1:6379删除值对
127.0.0.1:6379 del key
(integer) 1
127.0.0.1:6379 get key
(nil)查看所有键*表示所有
127.0.0.1:6379 keys *
(empty array)数据类型操作命令
列表
设置键值及过期时间10是秒为单位十秒后mykey就会消失内容为空
127.0.0.1:6379 setex mykey 10 setkey
OK
127.0.0.1:6379 get mykey
setkey
127.0.0.1:6379获取键的剩余生存时间
127.0.0.1:6379 setex hu 20 test
OK
127.0.0.1:6379 ttl hu
(integer) 11
127.0.0.1:6379 ttl hu
(integer) 8
127.0.0.1:6379 ttl hu
(integer) 6
127.0.0.1:6379 ttl hu
(integer) 5
127.0.0.1:6379追加值到键如果追加到设置有过期的键中可能会导致过期时间失效
127.0.0.1:6379 get hu
hy
127.0.0.1:6379 append hu hy
(integer) 4
127.0.0.1:6379 get hu
hyhy
127.0.0.1:6379左侧推入元素从而形成一个列表
127.0.0.1:6379 lpush mylist test1
(integer) 1
127.0.0.1:6379 lpush mylist test2
(integer) 2
127.0.0.1:6379 lpush mylist test3
(integer) 3查看列表中的元素可以理解成test1是第一个从左边推入一个元素后就变成了第二个
127.0.0.1:6379 lrange mylist 0 -1
1) test3
2) test2
3) test1获取列表长度
127.0.0.1:6379 llen mylist
(integer) 3
127.0.0.1:6379右侧推出元素从而删除列表中的一个元素
127.0.0.1:6379 rpop mylist
test1
127.0.0.1:6379 rpop mylist
test2
127.0.0.1:6379 rpop mylist
test3
127.0.0.1:6379 rpop mylist
(nil)
127.0.0.1:6379集合
添加元素到集合
127.0.0.1:6379 sadd jihe member1
(integer) 1获取集合所有成员
127.0.0.1:6379 smembers jihe
1) member1
127.0.0.1:6379管理和维护命令
查看数据库信息
127.0.0.1:6379 info 查看连接客户端列表
127.0.0.1:6379 client list
id3 addr127.0.0.1:38112 laddr127.0.0.1:6379 fd8 name age3098 idle0 flagsN db0 sub0 psub0 ssub0 multi-1 qbuf26 qbuf-free20448 argv-mem10 multi-mem0 rbs1024 rbp0 obl0 oll0 omem0 tot-mem22298 eventsr cmdclient|list userdefault redir-1 resp2
127.0.0.1:6379清空当前数据库
127.0.0.1:6379 flushdb
OK清空所有数据库
127.0.0.1:6379 flushall
OK保存数据到磁盘
127.0.0.1:6379 save
OK后台异步保存数据到磁盘
127.0.0.1:6379 bgsave
Background saving started查看Redis服务器配置
127.0.0.1:6379 config get parameter
(empty array)
127.0.0.1:6379 config get maxmemory
1) maxmemory
2) 0
127.0.0.1:6379