Rdb(redis系统默认持久化策略)(转)Redis简介
Redis是基于内存,也可以基于磁盘持久化nosql数据库,使⽤c语⾔开发。
数据存储结构:key-value
安装环境准备
Redis使⽤c语⾔开发,需要使⽤gcc编译程序进⾏编译。
1)安装gcc
a) 从磁盘镜像中进⾏安装:(重启Linux服务器需要重新挂载磁盘镜像)
b) 使⽤yum命令直接从po⽂件中本地URL下载
c) 挂载命令:mount /dev/cdrom /mnt
d) 安装命令:yum -y install gcc
2)安装上传⽂件插件
a) ⼯具上传⽂件:(只能上传root⽬录)
b) Alt+P上传⽂件默认只能上传root⽬录
c) 安装插件:(可以把⽂件上传任意⽬录)
1. Rz(lrzsz)
2. 安装命令:yum –y install lrzsz (磁盘镜像中直接安装)
安装redis
上传安装包
使⽤rz命令上传redis安装包,到/usr/local/hadoop⽬录下:
[root@localhost hadoop]# ll
total 144964
drwxr-xr-x. 9 root root 4096 Jul 13 01:37 apache-tomcat-7.0.61
-
rw-r--r--. 1 root root 8816567 May 5 2015 apache-tomcat-7.0.
drwxr-xr-x. 8 uucp 143 4096 Oct 8 2013 jdk1.7.0_45
-rw-r--r--. 1 root root 138094686 Jul 13 01:28
-rw-r--r--. 1 root root 1358081 May 14 2015 redis-3.0.
解压
解压命令:tar -zxvf redis-3.0.
安装redisredis支持的五种数据类型
1)编译
a) 命令:make
b) 进⼊redis解压⽬录:执⾏编译命令。
c) 执⾏编译程序:⽣成编译⽂件在src⽬录下
2)安装
a) 命令:make install PREFIX=/usr/local/hadoop/redis
b) 进⼊redis解压⽬录:执⾏安装命令
[root@localhost redis-3.0.0]# make install PREFIX=/usr/local/hadoop/redis
cd src && make install
make[1]: Entering directory `/usr/local/hadoop/redis-3.0.0/src'
Hint: It's a good idea to run 'make test' ;)
INSTALL install
INSTALL install
INSTALL install
INSTALL install
INSTALL install
make[1]: Leaving directory `/usr/local/hadoop/redis-3.0.0/src'
启动redis服务
前台启动
启动命令:./redis-server
特点:默认启动前台服务,进程⼀种阻塞,不能直接退出,使⽤客户端进⾏登录。
后台启动
修改redis配置⽂件,f配置⽂件,此时bin安装⽬录没有配置⽂件,需要从解压⽬录中拷贝⼀份配置⽂件即可。1)拷贝f配置⽂件
a) f在redis解压⽬录中
b) 拷贝:f ../redis/bin/
[root@localhost bin]# ll
total 15520
-rw-r--r--. 1 root root 18 Jul 26 17:14 dump.rdb
-rwxr-xr-x. 1 root root 4587078 Jul 26 17:09 redis-benchmark
-rwxr-xr-x. 1 root root 22185 Jul 26 17:09 redis-check-aof
-rwxr-xr-x. 1 root root 45403 Jul 26 17:09 redis-check-dump
-rwxr-xr-x. 1 root root 4689993 Jul 26 17:09 redis-cli
-rw-r--r--. 1 root root 41403 Jul 26 17:f
lrwxrwxrwx. 1 root root 12 Jul 26 17:09 redis-sentinel -> redis-server
-rwxr-xr-x. 1 root root 6448257 Jul 26 17:09 redis-server
2)修改redis配置⽂件
a) daemonize no==daemonize yes
3)启动redis,加载配置⽂件
a) 命令:./f
4)登录redis
a) 登录命令:./redis-cli –h ip –p port
b) 登录:./redis-cli (默认登录6379端⼝redis服务)
Redis命令
redis是⼀种⾼级的key:value存储系统,其中value⽀持五种数据类型:
1.字符串(strings)
2.字符串列表(lists)
3.字符串集合(sets)
4.有序字符串集合(sorted sets)
5.哈希(hashes)
⽽关于key,有⼏个点要提醒⼤家:
1.key不要太长,尽量不要超过1024字节,这不仅消耗内存,⽽且会降低查的效率;
2.key也不要太短,太短的话,key的可读性会降低;
3.在⼀个项⽬中,key最好使⽤统⼀的命名模式,例如user:10000:passwd。
Strings
Redis存储结构是key:value,value是 strings数据类型。
命令:
语法:set key value
1) set name zhangsanfeng
a) 给Strings类型key是name 添加⼀个值。
2) get name
a) 获取key是name属性的值。
3) incr age
a) 给数字字符类型⾃动加1
b) 把数字字符类型⾃动转换成integer类型,然后执⾏再加上1
4) decr age
a) 给数字字符类型⾃动减1
b) 把数字字符类型⾃动转换成integer类型,然后执⾏减去1
5) incrby age 10
a) 给指定键值加速10
6) decrby age 10
a) 给指定键值减去10
Hash
Hash是集合类型,适合于⽤来存储对象。Java集合类型是⽤来存储对象。存储数据结构分析:
第⼀种数据结构:
存取对象,使⽤⼀个key,使⽤⼀个key获取⼀个对象,必须使⽤反序列化。缺点:
占⽤IO资源。
第⼆种数据结构:
缺点:
⽤户ID被多次使⽤,数据冗余。资源浪费。
第三种数据结构:
Redis存储结构:key是⽤户ID value:就是hash类型数据。
命令:
1) hset user username zhaowuji
a) 给user中Username属性设置⼀个值
2) hget user username
a) 获取User中Username属性的值
3) hdel user password …..
a) 删除User中属性
4) hsetnx user email
a) 如果user中email属性值已经存在,不会覆盖
b) 如果不存在,设置值。
5) hmset user password 123 age 11
a) 同时设置多个值
6) Hmget user username age password
Lists
List集合数据结构:类似数组,数据是顺序存储。
List集合链表结构:通过指针从头指针查询到尾指针查元素。
命令:
1) lpush mylist a b c d
a) 给list类型数据结构设置多个值
2) lrange mylist 0 -1
a) 获取mylist集合中所有值
b) 0:值链表开始位置
c) -1:链表的结束位置
3) lpop mylist
a) 出栈集合mylist:出栈链表头指针元素。
4) lrem mylist 3 a
a) 删除链表mylist中前3个等于a的值。
5) lset mylist 2 s
a) 给链表mylist集合中2⾓标位置设置⼀个值,覆盖原值。6) linsert mylist after s b
a) 在集合链表mylsit中s元素后⾯插⼊⼀个b
Set
命令:
1) sadd myset a b c
a) 给set集合myset设置值:a b c
b) Set集合元素值不允许重复
2) smembers myset
a) 获取集合myset中值
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论