欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Redis.

程序员文章站 2023-01-01 11:15:53
Redis: 1、概念:redis是一款高性能的NOSQL系列的非关系型数据库。 2、下载安装。 1、redis有中文网。 2、解压直接可以使用。 *redis.windows.conf :配置文件。 *redis-cli.exe : redis的客户端。 * redis-server.exe :r ......

redis:

1、概念:redis是一款高性能的nosql系列的非关系型数据库。

Redis.

2、下载安装。

  1、redis有中文网。

  2、解压直接可以使用。

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

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

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

3、命令操作。

  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 : 删除指定键值对。

4、持久化。

  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:   不持久化

5、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缓存一些不经常发生变化的数据。

6、案例。

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

推荐阅读