Redis

一、Redis介绍

Redis: 它是一个开源的非关系型的高性能的键值对的数据库
Redis: 是一个开源的高性能键值对数据库。
它通过提供多种键值数据类型来适应不同场景下的存储需求,
并且借助许多高层级的接口使其可以胜任,如缓存、队列系统的不同角色。

NoSQL:非关系型数据库.

Redis官网: http://redis.io/

源码托管在github
https://github.com/antirez/redis


二、下载说明

windows版本:
下载地址:https://github.com/MicrosoftArchive/redis/releases
下载:Redis-x64-3.2.100.zip
linux版本:
下载地址:https://redis.io/download
下载:redis-3.2.8.tar.gz


三、安装

3.1 解压“资料 edis Redis-x64-3.2.100.zip”

3.1.1 配置文件:

-- redis.windows.conf(核心)
   经常需要修改的配置:
     bind 127.0.0.1 (ip)
     prot 6379 (端口)

-- redis.windows-service.conf (windows服务相关配置文件)

3.1.2 redis-server.exe(服务端命令)

3.1.3 redis-cli.exe(客户端命令)




3.2 启动Redis服务器

3.2.1 windows服务:

a.注册服务: 
  redis-server --service-install redis.windows-service.conf --loglevel verbose

b.卸载服务: redis-server --service-uninstall

c.启动服务: redis-server --service-start

d.停止服务: redis-server --service-stop

3.2.2 用redis-server.exe命令直接启动:

redis-server redis.windows.conf



3.3 使用redis-cli客户端

3.3.1 连接服务器:

redis-cli  (默认连接本机的6379端口)
redis-cli -h 127.0.0.1 -p 6379  (-h连接的ip地址 -p连接的端口)

3.3.2 ping 检查服务器是否正常运行




3.4 Redis-Desktop-Manager(Redis桌面管理器)

官方下载地址:https://redisdesktop.com/download
下载:redis-desktop-manager-0.8.8.384.exe

四、Redis的使用

1. 入门

set key value : 设置一个key的value值
-- key: 字符串
-- value: 字符串

get key: 获取指定的key的value值

2. 数据库有16个

切换数据库:select [0-15]


五、基本命令

1. keys pettern(* ? [1-3])

  KEYS * (查询所有的键)

2. exists: 判断一个键是否存在。如果键存在则返回整数类型1,否则返回0。

3. type: 获得键值的数据类型。

  返回值可能是string(字符串)、hash(散列类型)、list(列表类型)、set(集合类型)、zset(有序集合类型)。

4. del: 删除键。可以删除一个或多个键,返回值是删除的键的个数.

5. help 命令


六、数据类型

6.1 字符串string(value)

key --> value(string)
a. 赋值与取值(单个key的值)
      set key value
      get key
	
b. 赋值与取值(多个key的值)
      mset key value [key value …]
      mget key [key …]

c. 递增
      incr key
      incrby key increment

d. 递减
      decr key
      decrby key decrement

e. 向尾部追加
      append key value

f. 获取字符串长度
      strlen key
          
       
注意:赋值时key一样,value值会覆盖

6.2 散列类型hash(Map)

key --> value的值为:{field : fieldValue, field : fieldValue}

a. 赋值与取值
      hset key field value: 为指定的key 中的field 字段设置值
      hget key field : 取指定key中的field字段值

      hmset key field value [field value ...] : 设置指定key的多个字段值
      hmget key field [field ...] : 取指定key的多个字段值

      hgetall key : 取指定key中的所有字段与值

b. 判断字段是否存在
      hexists key field

c. 删除字段
      hdel key field [field ...]

d. 获取字段或字段值
      hkeys key : 获取Key的所有字段field
      hvals key : 获取key的所有字段对应的字段值

e. 获取字段的长度
      hlen key
      返回key 中字段的数量
          

注意:赋值时key的field一样,value值会覆盖,不一样就会新增一个field.

6.3 列表类型list(List)

a. 向列表两端增加元素
      LPUSH key value [value ...] : 向key的左边增加元素
      RPUSH key value [value ...] : 向key的右边增加元素
    
b.从列表两端弹出元素
      LPOP key: 从左边弹出指定key中的元素值 (弹出时会删除key中元素值)
      RPOP key: 从右边弹出指定key中的元素值 (弹出时会删除key中元素值)
      
c. 获取列表中元素的长度
      LLEN key

d. 获取列表中指定范围的元素值
      LRANGE key start stop

e. 删除列表中指定元素值
      LREM key count value

f. 获得列表中指定索引的元素值
      LINDEX key index

注意:list列表数据类型,元素值可以重复(有序)

6.4 集合类型set(Set)

a. 增加元素
      SADD key member [member ...] 

b. 删除元素
      SREM key member [member ...]

c. 获得集合中的所有元素
      SMEMBERS key

d. 判断元素是否在集合中
      SISMEMBER key member
       
e. 获得集合中元素的长度
      SCARD key
        
      
注意:set集合数据类型,元素值不能重复(无序)

6.5 有序集合zset(Set + 排序分数)

a、增加元素
      ZADD key score member [score member ...]

b、获取指定范围的元素值
      ZRANGE key start stop [WITHSCORES]

c、按照排序范围删除元素值
      ZREMRANGEBYRANK key start stop

d、按照分数范围删除元素
      ZREMRANGEBYSCORE key min max


注意:zset有序集合数据类型,元素值不能重复(有序)

七、Java客户端Jedis

Jedis类
JedisPool类
ShardedJedis类


八、redis的可视化工具

使用RedisDesktopManager,具体可以百度

原文地址:https://www.cnblogs.com/nadou/p/13999689.html