redis在ubuntu安装使用
Posted dtiove
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis在ubuntu安装使用相关的知识,希望对你有一定的参考价值。
一:安装配置
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,性能最好,持久化没保证【数据安全性低,服务器性能最高】
做压缩的原因,我们的一些操作 ,比如incr 1 执行100次,其实就相当于set age 100,但aof文件重复记录了100次,当
redis收到压缩的指定的时候,它会使用类似于内存快照的方式把内存的数据用命令的方式保存到临时文件中,最后再替换原来的aof文件
bgrewriteaof
以上是关于redis在ubuntu安装使用的主要内容,如果未能解决你的问题,请参考以下文章
sh [安装Node JS]在Ubuntu Linux 17.04 #ubuntu #install上安装Node JS