centos7 安装redis与redis基本知识

安装EPEL
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
rpm -ivh epel-release-7-5.noarch.rpm
yum install redis
systemctl start redis.service
systemctl status redis.service
systemctl enable redis.service

redis-cli

string类型
set name zouhuying
get name  同一个建只允许用一次  
setnx  key存在则返回0,不存在就设置
setex 指定键值对对应的有效期
setex haircolor 10 red
setrange  替换一部分字符串
zouhuiying/ setrange name 1 h /zhuhuiying
mset 设置多个key的值 mset name zouhuiying age 18
mesetnx 
getset name haoning设置新值获取旧值
getrang name 0 3获取name的0-3个字符
mget 获取多个key的值 
incr 递增值
incrby incrby age (+-)3(指定的数字增加减)
decr decrby 递减
append append name hhh追加,返回新字符串的长度
strlen  value的长度



hashes类型
hset 
hset myhash(表) field1(字段) Hello
hsetnx setnx
hmset  hmget
hincr hincrby
hdecr hdecrby
hexits 测试表中字段是否存在
hlen 表中字段的个数
hdel 删除表中某个字段
hmset user:001 age 66 height 178
hmget useer:001 age height
hdel user:001 age
hkeys 返回所以字段hkeys user:001
hvals hvals user:001
hgetall user:001   keys and values


list类型(双向链表 栈和队列)

栈:先进后出(存放值)
队列:先进先出
(从上到下)
push pop
lpush mylist zouhuiying(先进后出)
rpush mylist ying(先进先出)
lrange mylist 0 -1
linsert (插入元素) linsert mylist before "ying" "yingying"
lset 替换指定下标的元素  lset mylist 0 "xiaoying"
lrem 删除n个和value相同的值 返回删除值得个数 lrem mylist 1 "hello" 删除1个 n= 0:全部删除 n<0 :从尾部删除
ltrim:保留ltrim mylist 1 -1(保留的范围),其他删除
lpop 从头部删除元素 rpop 从尾部删除
rpoplpush (边取边加,可以是两个表)
lindex: lindex mylist 0(下标为0的元素)
llen:llen mylist (mylist的长度)


redis 常用命令
1.建值相关命令
keys * 返回所以建 keys 正则表达式
exists key检查key是否存在
del key
expire key time 设置过期时间(key要存在)
ttl key 查看建还有几秒过期 -1:表示已经过期
select (0-15)选择数据库
move key (0-15)
persist:移除过期时间
randomkey随机返回一个key
rename 重命名
type key :返回key的数据类型


2.服务器相关命令
ping (PONG,表示ping 通)
echo 普通echo
select
quit/exit/control-c退出客户端
dbsize 当前数据库中的key的数量
info:返回相关信息
config get key 返回key的信息
flushdb 删除当前数据库下的所有key
flushall 删除所有数据库下的所有key

redis的高级应用
安全性:redis.conf->requirepass mima   登陆redis-cli -a mima   或者redis-cli  auth mima
主从复制:修改redis.conf ->增加slaveof 192.168.139.213 6379(主机IP和端口)   and   masterauth mima(主机redis密码)and bind 0.0.0.0  (telnet 检查从机能否访问主机的端口)
事务处理:multi 进去事务 所有的命令保存在queued中,并不执行。exec后再按照顺序执行命令   取消事务:discard取消所有命令
        乐观锁:session1:set age 20/ watch age  / multi/ set age 30/ exec(执行会失败)
                session2 set age 20  
                unwatch 清除监视
持久化机制:数据快照 redis.conf -> save 9000 1  快照存在/var/lib/redis/dump.rdb中,二进制文件无法查看
            存储操作aof   redis.conf ->appendonly yes->appendfsync always(最快,性能不好)/appendfsync everysec(每一秒0/appendfsync no(完全依赖os,性能最好,持久化没有保证)快照存在/var/lib/redis/dump.rdb
发布订阅信息:subscribe tv1 /publish tv1 zouhuiying(两个session)
虚拟内存的使用:更改配置文件vm-enabled

猜你喜欢

转载自zouhuiying.iteye.com/blog/2292371