redis

一、redis的认识

Nosql  == not only sql

非关系型数据库    redis 和 mongodb

解决:

  1. High performance   高并发读写
  2. Huge storage   海量数据的高效率存储和访问
  3. High scalability & High availability 高可扩展性和高可用性

Nosql数据库的四大分类:

  1. k-v存储
  2. 列存储 Hbase
  3. 文档存储 Mongodb
  4. 图形数据库

对比图:

Nosql 特性:

  1. 易扩展
  2. 灵活的数据模型
  3. 大数据量高性能,高可用

redis是c语言开发的

redis应用场景:

  • 做缓存
  • 任务队列
  • 网站访问统计
  • 应用排行榜
  • 数据过期处理
  • 等等

redis的安装: 百度


 二、redis的运行(配置文件的运行)

安装好redis之后(linux)

修改配置文件来后台运行   

一开始可以先用 locate 查看redis-server和redis.conf, 这两个文件在哪里

./bin/redis-server ./redis.conf      用配置文件启动redis服务     sudo ./redis-server /etc/redis.conf

ps -ef | grep redis     查看redis服务是否起来

kill -9 <进程号>        杀死进程来关闭redis-server

也可以用  ./bin/redis-cli shutdown  来关闭redis


三、java连接redis

Jedis   java的连接redis的一个jar包

连接redis的例子,创建连接池的例子

防火墙 6379 的端口打开

连接池


四、redis的数据类型和常用操作

Redis的数据结构:

  1. 字符串             String
  2. 字符串列表      list
  3. 哈希                 hash
  4. 字符串集合      set
  5. 有序字符串      sorted-set

存储String常用命令:

  • set                建立
  • get                查看
  • getset          返回一个字符串,也就是键的旧值。 如果键不存在,则返回nil
  • del               删除
  • incr             数字增加1
  • decr            数字减少1
  • incrby         数字增加自定义
  • decrby       数字减少自定义
  • append      返回一个整数,在追加操作后的字符串的长度。

存储Hash:

  • hset key key_name values           
  • hset key key_name1 values1        建立hash,赋值单个
  • hmset key key_name value key_name1 value1       建立hash,赋值多个
  • hget key key_name             获得单个值
  • hmget key key_name key_name1     获得多个值
  • hgetall key       获得全部的key,value
  • hlen     获得长度
  • hkeys   获得键
  • hvals   获得值

存储List:

  • lpush
  • rpush
  • lrange   后更参数index  范围
  • lpop     取出后消失
  • rpop
  • llen
  • 等等

存储Set:

与list不同,不允许出现重复的元素

  • sadd  key     添加 
  • srem  key     删除
  • smembers key   查看成员值
  • scard key     返回成员个数
  • 等等

存储Sorted-Set

  • zadd myset 50 p 60 j 70 x     添加有序的set
  • zadd 100 p        如果value相同,分数会覆盖
  • zscore myset p     查询p的分数
  • zcard myset      查询长度
  • zrem  myset  p   删除p
  • 等等

Redis   key的通用操作

  • keys *
  • del key
  • exists key     返回1代表存在
  • get key
  • rename key    重命名

Redis特性:

  multi  事务块

  exec 执行事务

  discard 取消事务


Redis 持久化:

  • RDB方式  可以指定多少秒写入磁盘一次
  • AOF方式 读取log
  • 无持久化
  • 同时RDB和AOF

redis默认是RDB方式:

  优势:

  劣势:

  配置:

    save 900 1

    save 300 10

    save 60 10000

    dbfilename dump.rdb  保存文件名

    dir ./  在当前目录保存

AOF方式:

  优势:

  劣势:

  配置:

    appendonly no/yes  是否启用

    #appendfsync always  每修改一次就同步一次

    #appendfsync everysec  每秒同步一次

    #appendfsync no    不同步

  进入appendonly.aof文件删除最后的命令就可以达到撤销的目的


参考链接:

from:http://www.imooc.com/learn/839

原文地址:https://www.cnblogs.com/jinxiao-pu/p/7498606.html