一:安装配置
1.1 在ubuntu14.04的安装
sudo apt-get install redis-server
使用redis-server -v 来查看redis的版本,测试一下
1.2 配置redis
①修改配置文件,路径在/etc/redis/redis.conf
绑定的回环ip,我们注释掉就可以了,就会默认绑定本机所有ip
②重启redis-server
sudo service redis-server restart
二:基本操作
1.1key键操作
1:exists key 测试指定key是否存在
2:del key1 key2 ---keyN 删除给定的key
3:type key 返回给定key的value类型
4:keys pattern 返回匹配指定模式的所有key
5:rename oldkey newkey 改名字
6:dbsize 返回当前数据库的key数量
7:expire key seconds 为key指定过期时间
8:ttl key 返回key的剩余过期秒数
9:select db-index 选择数据库
10 move key db-index 将key从当前数据库移动到指定的数据库
11:flushdb 删除当前数据库中所有的key
12:flushall 删除所有数据库中的所有key
1.2:string类型操作
string是redis最基本的类型,一般我们可以用来保存序列化的对象或者一些图片的二进制字符串
1:set key value 设置key对应的值为string类型的value
2:mset key1 value1 key2 value2 一次性设置多个key的值
3:mget key1 key2 ----keyN 一次获取多个key的值
4:incr key 对key的值做加加操作,并返回新的值
5:decr key 同上,但是做的是减减操作
6:incrby key integer 同incr,加指定值
7:decrby key integer 同decr,减指定值
8:append key value 给指定key的字符串值追加value
9:substr key start end 内容截取,内容下标从0开始,截取的内容包括start和end位置
1.3: List链表类型操作
list类型其实是一个双向的链表,通过push,pop操作从链表的头部或者尾部添加删除元素,这使得list既可以用作栈,也可以用作队列。一般我们使用它来获取最新的信息,可以存储n条,如果有新纪录加进来,就删除旧的信息
lpush key string 在key对应的list的头部添加字符串元素
rpop key 从list的尾部删除元素,并返回删除元素
llen key 对应list的长度,key不存在返回0,如果key对应类型不是list返回错误
lrange key start end 返回指定区间内的元素,下标从0开始
rpush key string 同上,在尾部添加
lpop key 从list的头部删除元素,并返回删除元素
ltrin key start end 截取list,保留指定区间内元素
1.4: set集合类型操作
set其实相当于string类型的无序集合
关于set集合类型除了基本的添加,删除操作,其他有用的操作还包含集合的并集,交集,差集,一般可以用来实现好友推荐功能
1:sadd key member 添加一个string元素到key对应的set集合中,成功就返回1,如果元素已经在集合中,返回0,key对应的set不存在返回错误
2:srem key member [member] 从key对应set中移除给定元素,成功就返回1
3:scard key 返回set的元素个数
4:sismember key member 判断member是否在set中
5:sinter key1 key2 key3 ---keyN 返回所有给定key的交集
6:sunion key1 key2 --keyN 返回所有给定key的并集
7:sdiff key1 key2 --keyN 返回所有给定key的差集
8:smembers key 返回key对应set的所有元素
1.5 sort set 排序集合类型
元素有排序功能,不存在多个相同的元素,和set一样,sorted set 也是string类型元素的集合,不同的每个元素都会关联一个权,通过权值来进行排序
1:zdd key 权 值 给key的set sort排序集合的key添加元素
2:zrevrange key start end 获取由高到低的各个元素值
3:zscore key value 获取元素的权信息
4:zrank key value 获取元素的排名序号
5:zcard key 获取集合的个数
6:zremrangebyrank key 0 0 删除一个权最小的旧元素
三:持久化
nosql产品为了内部数据的安全考虑,会把本身的数据以文件的形式保存到硬盘当中,在服务器重启之后会自动把 硬盘的数据恢复到内存里面,这个过程叫做持久化的过程
3.1: 快照持久化
持久化备份的频率和触发机制可以在redis的配置文件中修改
第一行表示如果900秒内有超过一个 key被修改,就会发起快照保存,剩下同理,下面是备份文件名称
3.2 aof持久化
基本原理:这个操作会把所有 用户写的操作(添加,删除,修改)都备份到文件中,如果 需要还原数据,就执行这些保存的命令即可
3.2.1 开启aof持久化
第一次开启该aof持久化会清空redis的全部数据
# appendfsync always //每次收到写命令就立即强制写入磁盘,最慢的,但是保证完全的持久化,不推荐使用,【数据最安全,服务器性能最低】
#appendfsync everysec //每秒钟强制写入磁盘一次,在性能和持久化方面做了很好的折中,推荐 【数据相对安全,服务器性能折中】
# appendfsync no //完全依赖 os,性能最好,持久化没保证【数据安全性低,服务器性能最高】