您的位置:首页 > 数据库 > Redis

redis在ubuntu安装使用

2016-09-05 12:58 302 查看

一:安装配置

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: