“数据库“
redis3.0.6配置文件redis.conf参数详解
是否以后台进程运行 daemonize yes 指定后台进程的pid文件写入位置 pidfile /var/run/redis.pid 监听端口,默认为6379 port 6379 在高并发的环境中,为避免慢客户端的连接问题,需要设置一个高速后台日志 tcp-backlog 511 只接受以下绑定的IP请求 bind 192.168.1.100 10.0.0.1 bind 127.0.0.1 设置unix套接字,默认为空,及不通过unix套接字来监听 unixsocket /tmp/redis.sock unixsocketperm 700 客户端空闲多...
关于redis的复制
完整重同步用于处理初次复制情况:完整重同步的执行步骤和sync命令的执行步骤一样,他们是通过让主服务器创建并发送rdb文件,以及向从服务器发送保存在缓冲区里面的写命令来进行同步。 Redis 2.8 以前的复制功能不能高效地处理断线后重复制情况, 但 Redis 2.8 新添加的部分重同步功能可以解决这个问题。 部分重同步通过复制偏移量、复制积压缓冲区、服务器运行 ID 三个部分来实现。 复制偏移量 执行复制的双方-主服务器和从服务器会分别维护一个复制偏移量。 复制积压缓冲区 复制积压缓冲区是由服务器维护的一个固定长度(fixed-size)先进先出(F...
关于redis的RDB持久化和AOF持久化
redis的RDB持久化和AOF持久化 关于RDB持久化 RDB 文件用于保存和还原 Redis 服务器所有数据库中的所有键值对数据。 SAVE 命令由服务器进程直接执行保存操作,所以该命令会阻塞服务器。 BGSAVE 命令由子进程执行保存操作,所以该命令不会阻塞服务器。 服务器状态中会保存所有用 save 选项设置的保存条件(redis.conf,save参数),当任意一个保存条件被满足时,服务器会自动执行 BGSAVE 命令。 RDB 文件是一个经过压缩的二进制文件,由多个部分组成。 对于不同类型的键值对, RDB 文件会使用不同的方式来保存它们。 ...
关于redis的过期时间
redis的过期时间 设置过期时间 expire 将键key的生存时间设置为ttl秒 pexpire 将键key的生存时间设置为ttl毫秒 expireat 将键key的过期时间设置为timestamp所指定的秒数时间戳 pexpireat 将键key的过期时间设置为timestamp所指定的毫秒数时间戳 在redis底层,expire、pexpire、pexpireat三个命令都使用pexpireat命令来实现的 移除过期时间 pexpireat mesaage 145090000000000 ttl message per...
redis数据结构与对象
redis数据结构与对象 OBJECT ENCODING KEY //查看对象的底层编码 OBJECT REFCOUNT KEY //查看对象的引用计数 OBJECT IDLETIME KEY //查询对象的空转时长 类型常量 对象的名称 REDIS_STRING 字符串对象 string REDIS_LIST 列表对象 list REDIS_HASH 哈希对象 hash REDIS_SET 集合对象 set REDIS_ZSET 有序集合对象 zset 编码和底层实现 OBJECT ENCODING KEY //查看 编码常量 编码所对应...
redis数据类型以及常用相关命令
redis数据类型以及常用相关命令 String类型及操作 String是最简单的类型,一个key对应一个value,string类型是二进制安全的。Redis的string可以包含任何数据,比如jpg图片或者序列化的对象。 Set方法 设置key对应的值为string类型的value ,例如:我们添加一个name = xingdong的键值对 redis 127.0.0.1:6379>set name xingdong 获取name的话 get name 就可以了 Setnx方法 如果存在则返回0,否则插入 Setex 方法 设置key对应的...
mysql5.6太占内存了
刚在阿里云买的服务器,512内存的,装上mysql5.6,就这样了,哎
mysql order by varchar类型字段 排序
今天写一个sql语句 最后 order by fld_sort; 出来的顺序竟然是 1,11,2 看下原来fld_sort的字段竟然是 varchar类型 最后写成 order by fld_sort+0; 可以解决 不过感觉如果单独对列表进行排序,排序的字段最好是 写成 int 类型
php用redis存储session数据(附一个简单的类)
php用redis存储session数据(附一个简单的类) 在php.ini中配置 session.save_handler = Redis session.save_path = "tcp://localhost:6379" 或者在php文件中配置的, ini_set('session.save_handler','Redis'); ini_set('session.save_path','tcp://localhost:6379'); <?php class RedisSession{ private $redis; p...
关于redis内存淘汰策略
当redis使用的内存数大于可使用的内存数时,进行内存淘汰。 相对于Memcached来说(只有LRU淘汰算法),redis的淘汰算法比较丰富,主要有3种: 1.随机淘汰算法:从数据库中随机删除一个key 2.LRU淘汰算法:从数据库中删除一个最近最少访问的key 3.TTL淘汰算法:从数据库中删除一个最快过期的key 通过maxmemory-policy配置项指定使用的淘汰算法,至于使用哪种淘汰算法,应根据自己的需求设定。 redis 确定驱逐某个键值对后,会删除这个数据并,并将这个数据变更消息发布到本地(AOF 持久化)和从机(主从连接)。 具体到实...