数据库
首页 > 数据库> > Redis

Redis

作者:互联网

Redis

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

存储的是key:value 的形式

name:zhangsan

age:23

mysql:数据存在硬盘上

redis:数据存在内存中 所以很快(存入缓存(在内存区域中开辟出一个缓存区))

redis是nosql

下载和安装

解压可以直接使用

redis.windows.conf:配置文件

redis-cli:客户端

redis-server:服务器端

命令操作

redis的数据结构

*redis存储的是:键值对格式 的数据,其中key都是字符串,value有五种不同的数据结构

​ *value的数据结构:

  1. 字符串:String
  2. hash:map
  3. list:linkedlist
  4. set:不允许重复
  5. sortedset:不允许重复字符串:String

String

  1. 存储:set: key value
  2. 获取:get:key
  3. 删除 :del:key

哈希类型 hash

  1. 存储:hset key field value
  2. 获取:hget key field
    1. hget key field:获取指定的field的值
    2. hgetall key:获取所有的field和value
  3. 删除:hdel key field

列表类型 list(允许重复):可以添加一个元素到列表的头部或者尾部(左边或者右边)

  1. 添加:
    1. lpush key value:将元素加入列表左侧
    2. rpush key value:将元素加入列表右侧
  2. 获取:
    1. lrange key start end:范围获取
  3. 删除
    1. lpop key:删除列表最左边的元素并将元素返回
    2. rpop key:删除列表最右边的元素并将元素返回

集合类型 set:不允许重复元素

  1. 存储:sadd key value
  2. 获取:smembers key:获取set集合中的所有元素
  3. 删除:srem key value:删除set集合中的某个元素

有序集合类型:sortedset:不允许重复,且元素有顺序

  1. 存储:zadd key score value
  2. 获取:zrange key start end
  3. 删除:zrem key value

通用命令

  1. keys *:查询所有的键
  2. type key:获取键对应的类型
  3. del key:删除指定的key value

持久化

  1. redis是一个内存数据库,数据是零时的,当redis服务器重启了或者电脑重启了,数据会丢失,我们可以将redis内存中的数据持久化保存到硬盘的文件中

  2. redis持久化机制:

    1. RDB:默认方式,不配置不需要进行配置,默认使用这种机制

      1. 在一定的间隔时间中,检测key的变化情况,然后去持久化数据(推荐使用)(当key变了多少次持久化)

        1. 编辑redis.windowos.conf文件

        save 900 1
        save 300 10
        save 60 10000

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

      1. appendonly no 默认关闭的 >> 改为yes (开启aof)
        1. appendfsync always:每一次操作都进行持久化
        2. appendfsync everysec:每个疫苗进行一次持久化
        3. appendfsync no :不持久化(相当于把数据放在一个很大的map集合中)

Java客户端 Jedis

Jedis:一款java操作reids数据库的工具

Jedis的下载

Jedis的操作

  1.  //获取连接
            Jedis jedis = new Jedis("localhost",6379);//可以省略
            //操作
            jedis.set("username","zhangsan");
            //关闭连接
            jedis.close();
    

Jedis各种redis中的数据结构

  1. 字符串 String

  2. 哈希类型 hash :map格式

  3. 集合类型 set :不允许重复

    *sadd

  4. 有序集合类型 sortedset:不允许重复元素,且元素有顺序

    zadd

Jedis连接池:jedisPool

使用

  1. 创建JedisPool连接池对象
  2. 调用方法 getResource()方法获取jedis的连接

标签:set,Redis,元素,redis,value,Jedis,key
来源: https://www.cnblogs.com/IsMhhla/p/16200221.html