redis

stop-writes-on-bgsave-error no

no-appendfsync-on-rewrite yes


注释掉redis持久化配置参数:
#save 900 1
#save 300 10
#save 60 10000


4.重启redis
ps -eaf|grep redis
kill -9 进程ID
/opt/uar3/redis/bin
./redis-server ../conf/redis.conf后ps下看redis是否成功启动


#########
0.介绍
Redis是一个开源的,先进的key-value存储。它通常被称为数据结构服务器,因为键可以包含字符串,哈希,链表,集合和有序集合。
它支持存储的value类型很多,包括string,list,set,zset。这些数据类型都支持push/pop,add/remove及取交集和并集及更丰富的操作,
Redis支持各种不同方式的排序。为了保证效率,数据都是缓存在内存中,它也可以周期性的把更新的数据写入磁盘或者把修改操作写入
追加的记录文件。
1.优势:
对数据高并发读写
对海量数据的高效率存储和访问
对数据的高可拓展和高可用性(分布式)
2.目前全球最大的Redis用户是新浪微博,在新浪中有200多台物理机,400多个端口正在运行着Redis,有+4G的数据在Redis上来为微博用户提供服务。
3.适用场景
取最新N个数据的操作
排行榜应用,取TOPN操作
需要精确设定过期时间的应用
计数器应用
uniq操作,获取某段时间所有数据排重值
实时系统,反垃圾系统
pub/sub构建实时消息系统(发布与订阅redis独有)
构建队列系统
缓存
4.安装:
http://redis.io/download
tar -zxvf redis-2.4.17.tar.gz
cd redis-2.4.17
make
cd src && make install
mkdir -p /usr/local/redis/bin
mkdir -p /usr/local/redis/etc
mv /lamp/redis-2.4.17/redis/conf /usr/local/redis/etc
cd /lamp/redis-2.4.17/src
mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin
//启动
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
Redis服务端的默认连接端口是6379
//客户端连接
/usr/local/redis/bin/redis-cli
//停止Redis实例
/usr/local/redis/bin/redis-cli shutdown
或pkill redis-server
5.配置参数
daemonize 如果需要在后台运行,把该项改为yes
pidfile 配置多个pid的地址 默认在/var/run/radis.pid
bind 绑定ip,设置后只接受来自该IP的请求
port 监听端口,默认为6379
timeout 设置客户端连接时的超时时间(秒)
loglevel 分为4级,debug、verbose、notice、warning
logfile 配置log文件地址
databases 设置数据库的个数,默认使用数据库的个数为0
save设置redis进行数据库镜像的频率
rdbcompression 在进行镜像备份时,是否进行压缩
dbfilename 镜像备份文件的文件名
dir 数据库镜像备份的文件放置路径
slaveof 设置数据库为其他数据库的从数据库
masterauth 主数据库连接需要的密码验证
requirepass 设置登陆时需要使用的密码
maxclients 限制同时连接的客户数量
maxmeory 设置redis能够使用的最大内存
appendonly 开启append only模式
appendfsync 设置对appendonly.aof文件同步的频率
vm-enabled 是否开启虚拟内存支持
vm-swap-file 设置虚拟内存的交换文件路径
vm-max-memory 设置redis使用的最大物理内存大小
vm-page-size 设置虚拟内存的页大小
vm-pages 设置交换文件的总的page数量
vm-max-threads 设置vmio同时使用的线程数量
glueoutputbuf 把小的输出缓存存放在一起
hash-max-zipmap-entries 设置hash的临界值
activerehashing 重新hash

6.数据类型
string:key->value
hashes:table->field->value #方便存储对象,占用内存少
list:key->list
set:string的无序集合

7.脚本
/redis/bin/redis-cli -h 10.97.105.154 #连接客户端
./redis-cli --version

****************************** String字符串 ****************************
set name wangshizhe #如果key存在,覆盖
setnx name wangshizhe2 #如果key存在返回0,不更新,否则返回1
setex name 10 wangshizhe3 #指定有效期(秒)
setrange name 6 izhe5 #设置键的子字符串,反回字符串长度(从第6个字符串开始替换)
mset key1 value1 key2 value2 #一次性设置多个key的值
msetnx #同setnx
get name
getset keystr v1 #设置key的值,返回key的旧值
getrange keystr 0 5 #获取子字符串.(从第0个字符到第5个字符反回)
mget key1 key2 key3 key4 #一次性获取多个值
incr key6 #对key进行加加操作,对key6值+1
incrby key6 5 #以5为单位增加key6,支持-5
decr #同incr减法
decrby #同incrby减法
append key1 value1  #给制定key的字符串追加,返回新长度
strlen key1 #获取key的value的长度
del name #删除
****************************** hashes类型 ****************************
hset user name wangshizhe
hget user name wangshizhe
hsetnx user name wangshizhe2
hmset user name wangshizhe3 pass 123456 age 20
hmget user name pass age
hincrby user age 5
hexists user age #判断hash表中字段是否存在
hlen user #返回user字段数
hdel user age #删除指定field字段
hkeys user #返回表的所有field
hvals user #返回表的所有value
hgetall #返回表中所有field和value
****************************** list类型 ****************************
lpush mylist "world" #添加,返回list总数,先进后出
lrange mylist 0 -1 #从mylist中取第1个值到最后一个值
rpush mylist2 "world" #同lpush,先进先出
linsert mylist3 before "word" "hello" #在word前面加入值
lset mylist4 0 "world" #设置list中指定下标的元素,设置list中第1个值为world
lrem mylist5 1(3) "hello" #从list中删除n个和value相同的值(n<0从尾删除,n=0全部删除) 从mylist5中,删除1(3)个和hello相同的值
ltrim mylist8 1 2 #保留指定key范围内的数据.(1,2是保留的范围)
lpop list9 #从list头部开始删除值
rpop list10 #从list尾部删除值
rpoplpush list11 list12 #从list1尾部删除值并添加到list2头部
lindex list13 4 #反回list13,索引为4的值
llen list14 #返回list的size
****************************** set类型 ****************************
sadd myset "hello"
sadd myset "world" #向myset中添加hello和world
smembers myset #查看myset
srem myset "hello" #删除集合数据
spop myset3 #随机返回并删除名字为key的set中的一个
sdiff myset1 myset2 #返回所有给定key与第一个key的差集(以myset1为标准)
sdiffstore myset3 myset1 myset2 #将返回的差集存储到myset3
sinter myset1 myset2 #返回所有给定key的交集
sinterstore myset3 myset1 myset2 #同sdiffstore
sunion myset1 myset2 #返回所有给定集合的并集
sunionstore myset3 myset1 myset2 #同sdiffstore
scard myset1 #返回set集合size
sismember myset1 hello #判断set中是否包含value
srandmember
****************************** 其他 ****************************
info #查看redis信息
flushdb #清除所有数据
dbsize #查看当前数据大小



vi /etc/sysctl.conf 添加一项 vm.overcommit_memory = 1

你可能感兴趣的:(redis)