欢迎投稿

今日深度:

初识Redis,

初识Redis,


本文的核心内容:了解Redis的特点、在Linux的环境下安装RedisRedis的基本指令、Redis的基本数据类型与指令操作、通过Jedis操作Redis

 

一:什么是Redis

    Redis 是一个开源免费的基于内存的key-value存储系统它可以用作数据库、缓存和消息中间件。 它支持多种类型的数据结构,如字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets Redis特性丰富,客户端支持现阶段流行的大多数编程语言。

Redis的特点:

    1. Redis是一个高性能的key/value内存型数据库

    2. Redis数据类型丰富(stringlistsetzsethash等)

    3. Redis支持数据持久化(AOFRDB两种持久化方式)

    4. Redis读写性能优异,单线程运行效率高

 

二:redis的安装【Linux

    1:准备环境【虚拟机+CentOS6.5

    2安装Redis依赖gcc64位)【博主安装Nginx时,已安装Gcc不再截图演示】

    3:下载Redis

     http://download.redis.io/releases/redis-3.2.8.tar.gz

 通过winSCP导入虚拟机操作系统

    4:安装步骤

        tar -zxvf redis-3.2.8.tar.gz

        编译

        cd /redis-3.2.8/

        make

  安装【指定安装目录为:/usr/local/redis install

        make PREFIX=/usr/local/redis install

        将配置文件复制到安装目录下

        Cp  redis.conf  /usr/local/redis/

 

    5:启动redis

        Cd   /usr/local/redis/

        ./bin/redis-server redis.conf

 

  创建另一个连接 连接redis

        ./bin/redis-cli

    

 

 

 

三:Redis的基本操作命令   【只需要记住常用的指令即可,红色标记为重要指定必须记住】

①:对数据库的操作指令

1.选择数据库

select index[0-15]

注意:redis默认会存在16个数据库库,编号从0-15,默认使用0号数据库

2. 数据库操作

清空当前数据库数据 flushdb

清空所有数据库数据 flushall

②:对数据库key的操作【重要的指令以红色标注】

1.del key1 key2 ... Keyn

作用: 删除1个或多个键

返回值: 不存在的key忽略掉,返回真正删除的key的数量

2.rename key newkey

作用: 给key赋一个新的key名

注:如果newkey已存在,则newkey的原值被覆盖

3.move key db

作用:移动key到指定数据库

返回值: 移动成功返回1,失败则返回0

4.keys pattern

作用:查找所有符合给定模式pattern 的key

keys * 匹配数据库中所有key

keys h?llo  占位匹配符合条件一个字符key,如:hello、hallo 和hxllo 等

kyes h*llo  通配匹配一个或者多个字符key,如:hllo 和heeeeello 等。

keys h[ae]llo 选择匹配一个或者多个字符key,如:hello和hallo

特殊符号用 \ 隔开

返回值:符合条件的key列表

5.randomkey

作用:返回随机 key

返回值:数据库为空返回nil,不为空返回key名

6.exists key

作用:判断key是否存在

返回值:存在返回1,不存在返回0

7.type key

作用:返回key存储的值的类型

返回值:string,list,set,order set,hash

8.ttl key

作用:查询key的生命周期

返回值:当key 不存在时,返回-2   

当key 存在但没有设置剩余生存时间时,返回-1

否则,以秒为单位,返回key 的剩余生存时间

9.expire key

作用:设置key的生命周期,以秒为单位

返回值:如果生存时间设置成功,返回1

当key 不存在或没办法设置生存时间,返回0

同理:

pexpire key 毫秒数,设置生命周期

pttl key,以毫秒返回生命周期

10.persist key

作用:把指定key置为永久有效

 

四:redis基本数据类型的操作指令

【指令虽然工作中并不常用,但是使用Jedis API操作redis数据库,方法名与指令一致。记住指令有利于掌握Jedis的使用。】

String类型:

命令

说明

set

设置一个key/value

get

根据key获得对应的value

mset

一次设置多个key value

mget

一次获得多个key的value

getset

获得原始key的值,同时设置新值 

strlen

获得对应key存储value的长度 

append

为对应key的value追加内容 

getrange

截取value的内容

setex

设置一个key存活的有效期(秒) 

psetex

设置一个key存活的有效期(豪秒)

setnx

存在不做任何操作,不存在添加

msetnx

可以同时设置多个key,只有有一个存在都不保存

decr

进行数值类型的-1操作 

decrby

根据提供的数据进行减法操作 

Incr

进行数值类型的+1操作 

incrby

根据提供的数据进行加法操作 

Incrbyfloat

根据提供的数据加入浮点数 


List类型【双向链表,可以从两边插入数据,维护顺序】


 

命令

说明

lpush

将某个值加入到一个key列表头部

lpushx

同lpush,但是必须要保证这个key存在

rpush

将某个值加入到一个key列表末尾

rpushx

同rpush,但是必须要保证这个key存在 

lpop

返回和移除列表的第一个元素

rpop

返回和移除列表的第一个元素

lrange

获取某一个下标区间内的元素 

llen

获取列表元素个数 

lset

设置某一个指定索引的值(索引必须存在)

lindex

获取某一个指定索引位置的元素 

lrem

删除重复元素 

ltrim

保留列表中特定区间内的元素

linsert

在某一个元素之前,之后插入新元素



Set类型【元素无序,不能重复】


命令

说明

sadd

为集合添加元素 

smembers

显示集合中所有元素 无序 

scard

返回集合中元素的个数 

spop

随机返回一个元素 

smove

从一个集合中向另一个集合移动元素

srem

从集合中删除一个元素

sismember

判断一个集合中是否含有这个元素 

srandmember

随机返回元素 

sdiff

去掉第一个集合中其它集合含有的相同元素

sinter

求交集 

sunion

求和集 


  Zset类型


 

命令

说明

zadd

添加一个有序集合元素 

zcard

返回集合的元素个数 

zrange

返回一个范围内的元素 

zrangebyscore

按照分数查找一个范围内的元素 

zrank

返回排名

zrevrank

倒序排名

zscore

显示某一个元素的分数 

zrem

移除某一个元素

zincrby

给某个特定元素加分


Hash类型


命令 

说明 

hset

设置一个key/value对 

hget

获得一个key对应的value

hgetall

获得所有的key/value对 

hdel

删除某一个key/value对 

hexists

判断一个key是否存在

hkeys

获得所有的key

hvals

获得所有的value

hmset

设置多个key/value

hmget

获得多个key的value

hsetnx

设置一个不存在的key的值

hincrby

为value进行加法运算

hincrbyfloat

为value加入浮点值

 

 

五:JavaAPI操作Redis

  引入Jar


Jedis的方法与Redis的指令一致,因此我们可以根据指令的意义去操作Jedis

 

import org.junit.Test;
import redis.clients.jedis.Jedis;
/**
 * Created by Maps on 2018/6/26.
 */
public class MyRedis {
   
   @Test
   public void method(){
      //通过链接获取对象。
      Jedis jedis = new Jedis("192.168.58.128",6379);
      jedis.set("name","Jane");
      jedis.set("address","BJ");
      jedis.close();
   }
}

 

www.htsjk.Com true http://www.htsjk.com/redis/25735.html NewsArticle 初识Redis, 本文的核心内容:了解 Redis 的特点、在 Linux 的环境下安装 Redis 、 Redis 的基本指令、 Redis 的基本数据类型与指令操作、通过 Jedis 操作 Redis 。   一:什么是 Redis     Redi...
相关文章
    暂无相关文章
评论暂时关闭