关于Redis的详解

一、概念。

redis是一款高性能的NOSQL系列的非关系型数据库。

二、下载安装。

  1、redis有中文网。

  2、解压直接可以使用。

    *redis.windows.conf :配置文件。

    *redis-cli.exe : redis的客户端。

    * redis-server.exe :redis 服务器端。

三、命令操作

  1、redis的数据结构:键值对格式,key是字符串类型,value有5中类型:

    *字符串类型  string

    * 哈希类型 hash  :  map格式

    * 列表类型 list      : linkedlist 格式

    * 集合类型 set 

    * 有序集合类型 sortedset

  2、字符串类型 string:

    *存储: set key value

    * 获取: get key

    * 删除:del key

  3、哈希类型 hash:

    *存储: hset key field value

    * 获取: hget key field       hgetall key

    * 删除:hdel key field

  4、列表类型 list : 可添加一个元素到一个列表的头部或尾部。如果又添加,是以“挤进去”的方式。

    * 添加:1、lpush key value  2、rpush key value 

    * 获取: lrange key start end :范围获取。

    * 删除:lpop key    rpop key    删除元素并将其返回。

  5、集合类型 set :无序、不允许元素重复。

    * 存储: sadd key value

     * 获取:smembers key  获取集合所有元素。

    * 删除;srem key value :  删除集合某个元素。

6、有序集合 sortedset : 不允许元素重复,但有序。 根据score 排序

* 存储 : zadd key score value

    * 获取 : zrange key start end

    * 删除: zrem key value

  7、通用命令。

    * keys *  :查询所有键

    * type key : 获取key 对应value 的类型。

    * del key : 删除指定键值对。

四、持久化。

  1、redis 是一个内存数据库,当redis 服务器重启,或电脑重启,数据会丢失,所以需要持久化到硬盘

  2、redis 持久化机制:

    * RDB :默认方式,不需要配置。在一定时间内检测到key的变化情况后,持久化数据。

      编辑redis.windows.conf 文件:

save 900 1

save 300 10

save 60  10000

        意思:多少秒内,至少多少键发生变化了,就持久化一次。

    * AOF :日志记录的方式,可以记录每一条命令的操作。可每一次操作命令后,持久化数据。

      编辑 redis.windows.conf 文件:

        设置 appendonly yes (开启 aof )

# appendfsync always:每一次操作都持久化

appendfsync everysec:每一秒进行一次持久化

        # appendfsync no:   不持久化

五、Java客户端  Jedis。

  * Jedis :一款Java操作redis数据库的工具

  * 使用步骤:先导入jar包   两个:jedis和jedis pool

    1、获取连接:Jedis jedis=new Jedis("localhost",6379); 空参默认是本机的。

    2、操作:方法名和命令行一样。

    3、关闭连接:jedis.close();

  * 一些其他方法:

    1、jedis.setex("activecode",20,"rt") :存入键值对,并在20秒后自动删除。

  * Jedis连接池:

    1、创建一个配置对象:

      JedisPoolConfig config =new JedisPoolConfig();

      config.setMaxTotal(20) ;  config.setMaxIdle(10) ...........

    2、创建Jedis连接池对象。

      JedisPool jp=new JedisPool(config,"localhost",6379)

    3、获取连接。

      Jedis jedis=jp.getResource()

    4、使用。

    5、归还到连接池。 jedis.close();

  * 自定义jedis 工具类。

  * redis的应用:用redis缓存一些不经常发生变化的数据。

六、案例。

  需求:提供index.html页面,有一个省份下拉列表,页面加载完后,发送Ajax,加载所有省份。

你可能感兴趣的:(关于Redis的详解)