Redis:从认识安装到实现CURD( 二 )

  • redis-server.exe:redis服务器端
  • redis-cli.exe:redis的客户端
  • redis.windows.conf:配置文件
  • 06 常见支持类型—存取删除命令操作6.1 字符串类型 - String
    (1) 存储
    • set key value
    - 127.0.0.1:6379> set address beijing- OK(2) 获取
    • get key
    - 127.0.0.1:6379> get address- “beijing”(3) 删除
    • del key
    - 127.0.0.1:6379> del address- (integer) 16.2 列表类型 - list
    添加一个元素到列表的头部(左边)或者尾部(右边)
    (1) 添加
    • lpush key value:将元素添加到列表左边
    • Rpush key value:将元素添加到列表右边
    127.0.0.1:6379> lpush listDemo zhangsan(integer) 1127.0.0.1:6379> lpush listDemo lisi(integer) 2127.0.0.1:6379> rpush listDemo wangwu(integer) 3(2) 获取:lrange key start end
    • 127.0.0.1:6379> lrange listDemo 0 -1
    1) "lisi"2) "zhangsan"3) "wangwu"(3) 删除
    • lpop key:删除列表最左边的元素,且返回元素
    • rpop key:删除列表最右边的元素,且返回元素
    6.3 集合类型 - set
    set:String 类型的无序集合,且元素不能重复
    (1) 存储
    • sadd key value
    127.0.0.1:6379> sadd setDemo aaa(integer) 1127.0.0.1:6379> sadd setDemo aaa(integer) 0(2) 获取
    • smembers key:获取set集合中的所有元素
    127.0.0.1:6379> smembers setDemo1) "aaa“(3) 删除
    • srem key value:删除set集合中某元素
    127.0.0.1:6379> srem setDemo aaa(integer) 16.4 有序集合类型 - sortedset
    sortedset 和 set 一样也是 string 类型元素的集合,且不允许重复的元素
    不同的是每个元素都会关联一个double类型的分数,redis正是通过分数来为集合中的成员进行从小到大的排序
    有序集合的成员是唯一,但分数(score)却可以重复
    (1) 存储
    • zadd key score value
    127.0.0.1:6379> zadd sortedsetDemo 20 zhangsan(integer) 1127.0.0.1:6379> zadd sortedsetDemo 10 lisi(integer) 1127.0.0.1:6379> zadd sortedsetDemo 60 wangwu(integer) 1(2) 获取
    • zrange key start end [withscores]
    127.0.0.1:6379> zrange sortedsetDemo 0 -11) "lisi"2) "zhangsan"3) "wangwu"(3) 删除
    • zrem key value
    127.0.0.1:6379> zrem sortedsetDemo wangwu(integer) 16.5 哈希类型 - hash
    (1) 存储
    • hset key field value
    127.0.0.1:6379> hset hashDemo username admin(integer) 1127.0.0.1:6379> hset hashDemo password admin(integer) 1(2) 获取
    • hget key field:获取指定的field对应的值
    127.0.0.1:6379> hget hashDemo password"admin"
    • hgetall key:获取所有的field和value
    127.0.0.1:6379> hgetall hashDemo
    1) "username"
    2) "admin"
    3) "password"
    4) "admin"
    (3) 删除
    • hdel key field
    127.0.0.1:6379> hdel hashDemo username(integer) 107 数据持久化开篇已经讲过,Redis是一个内存数据库,也就是说,我们的数据全部存储在内存中,而我们常见的MySQL和Oracle等SQL数据库会将数据存储到硬盘中,凡事都是有利有弊,虽然内存数据库读写速度要比在硬盘中读写的数据库快的多,但是却出现了一个很麻烦的问题,也就是说,当 Redis 服务器重启或者宕机后,内存中的数据会全部丢失,为了解决这个问题,Redis提供了一种持久化的技术,也就是将内存中的数据存储到硬盘中去,日后方便我们使用这些文件恢复数据库中的数据
    7.1 RDB 方式 (默认方式)
    RDB:一定的时间内,检测key的变化情况,然后持久化数据
    我们想要配置它,需要编辑 redis.windows.conf 配置文件
    # Save the DB on disk:## save <seconds> <changes>## Will save the DB if both the given number of seconds and the given# number of write operations against the DB occurred.## In the example below the behaviour will be to save:# after 900 sec (15 min) if at least 1 key changed# after 300 sec (5 min) if at least 10 keys changed# after 60 sec if at least 10000 keys changed# ......省略部分save 900 1save 300 10save 60 10000我们需要修改的就是最后三行,前面的说明的意思是,如果给定的秒数和给定的对数据库的写操作数同时发生,那么将保存数据库,也就是说,它的配置是根据save后面的两个数字,根据说明可知,第一个数字代表间隔时间,第二个数代表操作数据的数量
    例如第一个 save 900 1 ,就是说每900秒且,至少一个 key 被改变则保存数据
    我们根据自己具体项目的需要设置好后,需要重新启动Redis的服务器,并且我们需要指定配置文件,我们先指向到Redis指定目录下, 然后输入命令 redis-server.exe redis.windows.conf


    推荐阅读