建设外贸企业网站,松江团购做网站,深训网站,wordpress 能上传apk吗#x1f60f;★,:.☆(#xffe3;▽#xffe3;)/$:.★ #x1f60f; 这篇文章主要介绍Redis数据库配置与使用。 无专精则不能成#xff0c;无涉猎则不能通。。——梁启超 欢迎来到我的博客#xff0c;一起学习#xff0c;共同进步。 喜欢的朋友可以关注一下#xff0c… ★,°:.☆(▽)/$:.°★ 这篇文章主要介绍Redis数据库配置与使用。 无专精则不能成无涉猎则不能通。。——梁启超 欢迎来到我的博客一起学习共同进步。 喜欢的朋友可以关注一下下次更新不迷路 文章目录 :smirk:1. 项目介绍:blush:2. 环境配置:satisfied:3. 使用说明 1. 项目介绍
项目Github地址https://github.com/redis/redis
RedisRemote Dictionary Server是一款开源的内存数据结构存储系统它提供了一个键值对存储模型其中的键可以包括字符串、哈希、列表、集合和有序集合等数据类型。它支持持久化、主从复制、集群和事务等功能。
以下是一些关键特性和用途 1.高性能Redis将数据存储在内存中因此可以实现非常高的读写性能。它使用单线程模型和异步I/O操作来实现高效的处理请求。 2.丰富的数据结构Redis不仅仅支持简单的字符串键值对存储还提供了各种数据结构如哈希表hashes、列表lists、集合sets和有序集合sorted sets。这使得Redis非常适合于在内存中处理各种类型的数据。 3.持久化Redis提供了两种方式的持久化机制即RDBRedis数据库文件和AOFAppend-only File。RDB通过将数据集快照写入磁盘以便在重新启动时重新加载数据。而AOF则通过记录所有写操作来实现持久化。 4.主从复制Redis支持主从复制可以将一个Redis实例配置为主服务器而其他实例作为从服务器。主服务器上的写操作会被自动地复制到所有从服务器上从而实现数据的冗余备份和负载均衡。 5.发布与订阅Redis支持发布与订阅模式允许客户端订阅一个或多个频道以接收特定类型的消息。这使得Redis非常适合于构建实时应用程序、消息队列和聊天系统等。 6.事务支持Redis支持事务操作可以将多个命令打包成一个事务进行执行。通过MULTI、EXEC、DISCARD和WATCH等命令可以实现原子性的提交或回滚多个命令。 7.缓存由于Redis的快速读写能力和丰富的数据结构它经常被用作缓存层。将经常访问的数据存储在Redis中可以极大地提升应用程序的性能和响应时间。 总之Redis是一款功能强大且灵活的内存数据存储系统适用于处理高速读写和实时数据处理的应用场景例如缓存、会话存储、计数器、排行榜和消息队列等。
2. 环境配置
下面进行安装运行
# ubuntu安装
sudo apt install redis-server
# 检查运行状态
sudo systemctl status redis-server
# 测试服务器是否正常
redis-cli ping 可以通过redis-cli进入客户端
# 配置远程连接
sudo gedit /etc/redis/redis.conf
将 bind 127.0.0.1 ::1 改为 bind 0.0.0.0
# 设置密码
找到# requirepass foobared 改为 requirepass 自己的密码
sudo systemctl redis-server restart服务端配置完成后可以安装图形化工具Redis desktop manager便于管理。
可通过ssh远程连接到远端的redis数据库。 3. 使用说明
首先安装redis c依赖sudo apt-get install libhiredis-dev
下面是一个数据库操作示例
#include iostream
#include hiredis/hiredis.hint main()
{// 连接 Redis 服务器redisContext *redis redisConnect(127.0.0.1, 6379);// 检查连接是否成功if (redis NULL || redis-err){std::cout 无法连接到 Redis 服务器 redis-errstr std::endl;return 1;}// 执行 AUTH 命令提供密码redisReply *reply (redisReply *)redisCommand(redis, AUTH password);// 检查认证是否成功if (reply NULL || reply-type REDIS_REPLY_ERROR){std::cout Redis 认证失败 reply-str std::endl;freeReplyObject(reply);redisFree(redis);return 1;}std::cout Redis 认证成功 std::endl;freeReplyObject(reply);// 执行 SET 命令reply (redisReply *)redisCommand(redis, SET key1 value1);std::cout SET 命令执行结果 reply-str std::endl;freeReplyObject(reply);// 执行 GET 命令reply (redisReply *)redisCommand(redis, GET key1);std::cout GET 命令执行结果 reply-str std::endl;freeReplyObject(reply);// 关闭连接redisFree(redis);return 0;
}编译运行
g main.cpp -o redis_example -lhiredis
Redis 认证成功
SET 命令执行结果OK
GET 命令执行结果value1以上。