Redis使用问题一

Reid 使用指南一 问题一 OOM command not allowed when used memory > ‘maxmemory’ 这里表示使用内存超过了设置的最大内存。 redis.conf中的maxmemory定义REdis可用最大物理内存,有多种书写方式,以下均为合法: maxmemory 1048576 maxmemory 1048576B maxmemory 1000KB maxmemory 100MB maxmemory 1GB maxmemory 1000K maxmemory 100M maxmemory 1G 没有带单位尾巴的为字节数,以B结尾的表示相应的大小。但需要注意KB和K、MB和M、GB和G是不同的,如1K表示1000字节,而1KB则为1024字节。如果maxmemory值为0,表示不做限制。 如果是32位系统,当maxmemory值为0时,redis启动时会记录WARN日志 Warning: 32 bit instance detected but no memory limit set. Setting 3 GB maxmemory limit with ’noeviction’ policy now. server.maxmemory = 3072LL_(1024_1024); /* 3 GB */ server.maxmemory_policy = MAXMEMORY_NO_EVICTION; 相关的源代码如下: /* Convert a string representing an amount of memory into the number of ...

2020年9月28日 · 2 分钟 · 天边的星星

Redis 安装及使用

Redis 安装及使用 Redis是一个开源的使用ANSI [C语言][1]编写、支持网络、可基于内存亦可持久化的日志型、Key-Value[数据库][2],并提供多种语言的API redis是一个key-value[存储系统][3]。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list([链表][4])、set(集合)、zset(sorted set –有序集合)和hash(哈希类型)。这些[数据类型][5]都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。 Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了[memcached][6]这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用很方便。 Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整的消息发布记录。同步对读取操作的可扩展性和数据冗余很有帮助。 Redis应用场景 缓存(数据查询、短连接、新闻内容、商品内容等等)。(使用最多) 分布式集群架构中的session分离。 聊天室的在线好友列表。 任务队列。(秒杀、抢购、12306等等) 应用排行榜。 网站访问统计。 数据过期处理(可以精确到毫秒) 安装Redis 这里通过源码编译安装,大家也可以使用其他打包好的直接安装 进入服务器 wget 和tar要是没有 通过yum install wget tar来进行安装 执行下载源码命令 wget http://download.redis.io/releases/redis-5.0.5.tar.gz > > 解压 > > ``` `tar xzf redis-5.0.5.tar.gz ` 进入解压目录 cd redis-5.0.5 > > 编译 > > ``` `make ` make[1]: Entering directory `/opt/redis-5.0.5/src' CC Makefile.dep make[1]: Leaving directory`/opt/redis-5.0.5/src' ...

2019年9月26日 · 3 分钟 · 天边的星星