NOSql之redis的学习
- /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
- /usr/local/redis/bin/redis-cli -a redis
- vi /usr/local/redis/etc/redis.conf

tar xzf redis-3.2.0.tar.gz
cd redis-3.2.0
make
make之前要安装gcc,yum install gcc
启动
src/redis-server
打开客户端
src/redis-cli
测试
redis> set foo bar
OK
redis> get foo
"bar"
指定配置文件启动(在此我把配置文件移动到了/usr/local/redis/etc/redis.conf)
命令:./redis-server /usr/local/redis/etc/redis.conf
(我本机启动命令/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf),查看服务是否启动: ps -ef | grep redis,netstat -tunpl | grep 6379
打开客户端:/usr/local/redis/bin/redis-cli
为了让其在后台运行,不占用session,将配置文件中的daemonize改为yes
--方法见官网文档(做了一点常用的方法的笔记)
string数据类型:
setnx : nx代表not exit,如果key已经存在返回0,不存在返回1。setnx name xgw
setex : 指定键值的有效时间 set name 10 123 有效时间为10秒
.............
hashes类型:比较适合用于存储对象,相对于每个字段存储为一个String类型,将一个对象存储在hash类型中会占用更少的内存,并更方便的存储整个对象。
hset user name xgw 返回0表示失败,返回1表示成功
hget user name
.............
list类型:key为list
lpush list hello 返回list长度
lpush list world
lrange list 0 -1 展示所有的list中内容
.............
set类型:它是String类型的无序集合,set通过hash table实现
sadd myset hello 返回myset长度,添加相同元素时候返回0
smembers myset 展示set中所有内容
sorted sets
zadd myset3 1 a
(integer) 1
127.0.0.1:6379> zadd myset3 2 b
(integer) 1
127.0.0.1:6379> zadd myset3 3 b
(integer) 0
127.0.0.1:6379> zrange myset3 0 -1 withscores
.............
string 最简单的数据类型
hash数据类型,可以当做表,hash table ,比string速度快
list数据类型 栈,队列
set数据类型 并集,交集,差集
zset数据类型 set的升级版,有序集合
===================================
keys my* ,返回所有满足给定pattern的所有key
exists key ,确认key是否存在
expire key ,设置key的过期时间(查看key还有多少秒过期,ttl)
persist key ,移除过期时间
del key ,删除一个key
move key 1 (默认有0-15数据库,默认进入0数据库)
type key ,查看key类型(string,zset(有序集合),list,...)
dbsize ,当前数据库key大小
info ,查看redis服务器信息
config get ,相关配置参数
flushdb ,清除当前数据库下的key
flushall ,清除所有数据库中的所有key
安全性:
在redis-conf下面配置requirepass password,在用客户端连接的时候,带上参数-a password连接,否则会提示没有权限
主从复制:
- 一个master可以有多个slave
- 多个slave可以连接同一个master外,还可以连接到其他slave(slave之间可以连接)(心跳感应,在master宕机后,一个slave马上变成master)
- 主从复制不会阻塞master,在同步数据时,master可以继续处理client请求
- 提供系统的伸缩性
- slave与master建立连接,发送sync同步命令
- master会启动一个后台进程,将数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存
- 后台完成保存后,就将此文件发送给slave
- slave将此文件保存到硬盘上

- snapshotting(快照),也是默认方式(将数据写到二进制文件中,默认的文件名dump.rdb),可以通过配置设置自动做快照持久化的方式(配置redis在n秒内如果超过m个key被修改就自动做快照,目前redis.conf中默认配置了save 900 1 save 300 10 save 60 10000)
- append-only file(缩写aof)方式(将写,改等操作写到文件,redis会将每一个收到的写命令通过write函数追加到文件中,当redis重启时会通过重新执行文件中保存的写命令来在内存中重建真个数据库的内容,OS会在内核中缓存write做的修改,所以可能不是立即写到磁盘上。这样aof方式也可能丢失部分修改,可通过配置文件告诉redis,通过fsync函数强制os写入到磁盘的时机。appendonly置为yes
- # appendfsync always //收到命令就写入磁盘,性能最差,但是保证完全的持久化
- appendfsync everysec
- # appendfsync no//取决于OS,性能最好,但不能保证持久化的完整性


把暂时不经常访问的数据存内存交换到磁盘中,从而腾出宝贵的内存空间用于其他需要访问的数据
NOSql之redis的学习的更多相关文章
- NoSQL之Redis学习笔记
一.NoSQL与Redis 1.什么是NoSQL? NoSQL=Not Only SQL ,泛指非关系型数据库.随着互联网的兴起,传统的关系型数据库已经暴露了很多问题,NoSQL数据库的产生就是为了解 ...
- No-sql之redis常用命令
转自:http://blog.csdn.net/nicewuranran/article/details/51793760 No-SQL之Redis 介绍 Redis是一种基于内存存储的key-val ...
- Redis:学习笔记-01
Redis:学习笔记-01 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 1. Redis入门 2.1 ...
- 一篇文章带你了解NoSql数据库——Redis简单入门
一篇文章带你了解NoSql数据库--Redis简单入门 Redis是一个基于内存的key-value结构数据库 我们会利用其内存存储速度快,读写性能高的特点去完成企业中的一些热门数据的储存信息 在本篇 ...
- 【NoSql】Redis
[NoSql]Redis 一. 文档 1. 官网 2. Windows 安装包 3. C# Driver a. ServiceStack.Redis 最新版本是收费的 b. StackExchange ...
- memcache/redis 缓存学习笔记
0.redis和memcache的区别 a.redis可以存储除了string之外的对象,如list,hash等 b.服务器宕机以后,redis会把内存的数据持久化到磁盘上,而memcache则不会 ...
- NoSQL之Redis高级实用命令详解--安全和主从复制
Android IOS JavaScript HTML5 CSS jQuery Python PHP NodeJS Java Spring MySQL MongoDB Redis NOSQL Vim ...
- NoSQL:redis缓存数据库
一 Redis介绍 Redis和Memcached类似,也属于key-value nosql 数据库 Redis官网redis.io, 当前最新稳定版4.0.1 和Memcached类似,它支持存储的 ...
- redis入门学习记录(二)
继第一节 redis入门学习记录(一)之后,我们来学习redis的基本使用. 接下来我们看看/usr/local/redis/bin目录下的几个文件作用是什么? redis-benchmark:red ...
随机推荐
- JS----JS调试技巧
骨灰级调试大师Alert 那还是互联网刚刚起步的时代,网页前端还主要以内容展示为主,浏览器脚本还只能为页面提供非常简单的辅助功能的时候.那个时候,网页主要运行在以IE6为主的浏览器中,JS的调试功能还 ...
- 冒泡排序和快速排序的java实现
转发请注明原创地址 http://www.cnblogs.com/dongxiao-yang/p/6264831.html 冒泡 public static int[] bubble_sort(int ...
- AptanaStudio3 安装在win7 64bit时遇到的问题
最近在研究前端语言,想起可以使用AptanaStudio这个前端利器,没想到安装时却遇到波折.先从网上下载了Aptana版本 3.6.0 64bit问题1 安装进度缓慢,第一次安装时,显示downlo ...
- 一个不喜欢读书的Javaer的读书单
很可惜,从我一开始学技术开始,我就不喜欢看书,严重的时候翻不到两页就会开始狂打瞌睡.很幸运,有互联网能够为我提供很多知识,甚至一些知识从网上看来的会更加权威一些.但是,我的经验告诉我,无论是从功利性的 ...
- cocos2d-x增加控制台程序代码
#include "main.h" #include "AppDelegate.h" #include "CCEGLView.h" USIN ...
- Cocos2d-x实现粒子效果的三种方式
在Cocos2d-x中,实现粒子效果可以有三种方法. Normal 0 10 pt 0 2 false false false EN-US ZH-CN X-NONE $([{£¥·'"〈&l ...
- 【转】如何高效利用GitHub——2013-08-28 22
http://www.yangzhiping.com/tech/github.html 正是Github,让社会化编程成为现实.本文尝试谈谈GitHub的文化.技巧与影响. Q1:GitHub是什么 ...
- 运用json-lib生成特定json
在实现接口过程中,一般协议都是定义数据格式为json.我们有时候需要把bean转换为JSON输出给接口调用者,但是可能存在bean中的字段有些不是接口定义所需要的.这个时候需要我们对JSON转换是需要 ...
- java反射知识
java反射机制是在运行状态中,对于任意一个类(class文件),都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意一个方法和属性:这种动态获取的信息以及动态调用对象的方法的功能称 ...
- 解读Spring Ioc容器设计图
在Spring Ioc容器的设计中,有俩个主要的容器系列:一个是实现BeanFactory接口的简单容器系列,这系列容器只实现了容器最基本的功能:另外一个是ApplicationContext应用上下 ...