Redis常用密令以及使用java连接操作redis



Redis常用命令

 

1连接redis

 redis-cli -h 10.0.0.51 -p 6379

  1. 查看所有key

    keys *

  2. 设置值

    set aaa 100

  3. 获取值

    get aaa

  4. 删除key

    del aaa

  5. 查看数据库的详细信息

    Info

  6. 查看连接客户端信息

    client list

  7. 断开某个客户端的连接

    cleint kill ip地址+端口号

    Eg:cleint kill 10.0.0.51:44706

  8. 查看数据库中记录条数

    Dbsize

  9. 清空所有数据

    Flushall

  10. 监控

    Monitor

     

    Redis数据结构

    Redis支持5中数据类型,string(字符串), hash(哈希), list(列表), set(集合), zset(sorted set:有序集合)

  1. String (字符串)

    Stringredis的最基本的类型,可以理解成与memcached一模一样的类型,一个key对一个value

    String类型是二进制安全的,意思是redisstring可以包含任何数据,比如jpg图片或者序列化对象。

    String类型是redis最基本的数据类型,一个键最大能存储512MB

     

     

     

  2. Hash(哈希)

    Hash是一个键值对集合。

    Hash是一个string类型的fieldvalue的映射表,hash特别适用于存储对象

    每个hash可以存储232次放-1键值对(40多亿)

     

    示例中的myhashhashkey名称 name为属性名,liuzhuang为属性值

  3. List(列表)

    List列表是简单的字符串列表,按照插入顺序排序,你可以添加一个元素到列表头部(坐边)或者尾部(右边),每个列表最多可存储40多亿元素

    从右边加,则在末尾加 rpush key value

    从左边加,则在前面加 lpush key value

    遍历 知道长度 lrange key 0 length-1

     不知长度 lrange key 0 -1

    10.0.0.51:6379>

    //从边添加

    10.0.0.51:6379> rpush mylist aaa

    (integer) 1

    10.0.0.51:6379> rpush mylist bbb

    (integer) 2

    10.0.0.51:6379> rpush mylist ccc

    (integer) 3

    10.0.0.51:6379> rindex mylist 0

    (error) ERR unknown command 'rindex'

    //取值

    10.0.0.51:6379> lindex mylist 0

    "aaa"

    10.0.0.51:6379> lindex mylist 1

    "bbb"

    10.0.0.51:6379> lindex mylist 2

    "ccc"

    //遍历

    10.0.0.51:6379> lrange mylist 0 -1

    1) "aaa"

    2) "bbb"

    3) "ccc"

    10.0.0.51:6379> lrange mylist 0 2

    1) "aaa"

    2) "bbb"

    3) "ccc"

    10.0.0.51:6379> lindex mylist -1

    "ccc"

    10.0.0.51:6379>

    10.0.0.51:6379> lpush mylist ddd

    (integer) 4

    10.0.0.51:6379>

    10.0.0.51:6379> lrange mylist 0 -1

    1) "ddd"

    2) "aaa"

    3) "bbb"

    4) "ccc"

     

    List排序

     

  4. Set(集合)

    Setstring类型的无序集合。

    Set中添加值sadd

     

  5. Zset(有序集合)

     

    Zsetset一样,也是string类型元素的集合,且不允许重复的成员。

    不同的是每个元素都会关联一个double类型的分数,redis正是通过分数来为集合中的成员进行从小到大的排序。

    Zet的成员都是唯一的,但分数(score)却是可以重复的

    Zadd密令 添加元素到集合,元素在集合中存在则更新对应的score

     

     

    使用java操作redis

     

  1. 测试redis连通性

     第一步:注释掉/etc/redis.conf61行下面的bind 127.0.0.1 让所有客户端可以访问redis,并让配置文件生效 redis-server /etc/redis.conf

    重启redis  /bin/systemctl restart  redis.service

    第二步:开启防火墙6379端口 开启端口

    firewall-cmd --zone=public --add-port=6379/tcp --permanent

    并重启防火墙

    firewall-cmd --reload #重启firewall

    编写测试程序:

    1创建工程、创建package、引入jedis-2.9.0.jar

    import redis.clients.jedis.Jedis;

     


    /**

     * 测试redis服务器连接是否正常

     * @author Administrator

     *

     */

     

    public class RedisConnectTest {

     

    /**

     * @param args

     */

    public static void main(String[] args) {

    Jedis jedis = new Jedis("10.0.0.51",6379);

    String ret=jedis.ping();

    System.out.println(ret);

     

    }

    若控制台输出pong则表示联通。

  2. 使用java进行存储读取redis里面的数据

    import java.util.List;

     

    import redis.clients.jedis.Jedis;

     

     

    /**

     * 测试redis服务器连接是否正常

     * @author Administrator

     *

     */

     

    public class RedisConnectTest {

     

    /** 初始化jedis对象

     * @param args

     */

    public static void main(String[] args) {

    //初始化jedis对象

    Jedis jedis = new Jedis("10.0.0.51",6379);

    //测试连通性

    String ret=jedis.ping();

    System.out.println(ret);

    //保存值到redis数据库

    /*jedis.set("hello", "world");

    //获取从redis服务器中某个key的值

    String str=jedis.get("hello");

    System.out.println(str);*/

    //list

    //将数据存储到redis

    /*for(int i=1;i<=6;i++){

    jedis.lpush("myjavalist", i+"00");

    }*/

    //从redis中遍历取值

    /*List<String> lrange= jedis.lrange("myjavalist", 0, -1);

    for(String str:lrange){

    System.out.println(str);

    }*/

     

    }

     

    }




猜你喜欢

转载自blog.csdn.net/sonwing_for/article/details/80917434