redis

Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库.

官网:https://redis.io/
最新稳定版已经更新到4.0.10,但是官方没有windows版本下载。
windows版本: https://github.com/MicrosoftArchive/redis/releases
github上有个windows版本3.2.100,由微软维护的,目前已不更新。
g友 redis4 : https://github.com/tporadowski/redis/releases
这是 Redis 4.0.2.2 for Windows (alpha)

安装

windows:

下载
这里选择的是3.2.100版本



安装过程会提示输入端口(默认6379),和设置最大内存...
下一步....完成。
完成后,会自动配置到系统服务,并且是已经启用的状态。

检测是否安装成功:
命令行 输入 redis-cli 即可进入交互模式。(安装时需勾选配置到环境变量,否则需要手动配置。)

Linux:

apt-get install redis-server
命令行输入:redis-cli 即可进入交互模式

配置文件一般在 /etc/redis/redis.conf
修改配置后, service redis restart
若设置密码后,需要 redis-cli -a 密码 才可进入。

连接远程 redis 服务:
命令行:redis-cli -h HOST -p PORT -a password
如果上面的方式连接不到服务端,请参照下图确认:


redis_第1张图片

启动,停止,重启服务:
/etc/init.d/redis-server start(stop)(restart)

可视化工具 Redis Desktop Manager

https://github.com/uglide/RedisDesktopManager/releases

redis-py

安装:pipenv install redis

基本使用:


redis_第2张图片

关于set:


redis_第3张图片

基础

Redis一共支持五种数据类型:string(字符串)、hash(哈希)、list(列表)、set(集合)和zset(sorted set 有序集合)。

以下操作,基于命令行下的原始操作,可能在redis-py中有个别不同。

输入 info 查看redis内存情况

keys的命名

\n和空格 不能作为key的组成部分,key的长度不限。

keys的操作
  • select db-index
    选择数据库,默认编号是0-15,共16个
  • keys *
    查看当前数据库所有的key
  • del key1 key2……keyN
  • flushdb
    删除当前数据库的所有key
  • flushall
    删除redis里的所有数据库的所有key
  • rename oldkey newkey
  • expire key seconds
    设置key的过期时间。
  • move key db-index
    将key 从当前数据库移动到指定数据库
  • exists key
    测试key是否存在
  • type key
    返回key的类型,默认是str。
  • keys pattern
    返回匹配指定模式的所有key
  • dbsize
    返回当前数据库的key数量
  • ttl key
    返回key的剩余过期秒数。
str类型
  • set key value
    默认情况,key不存在,则创建;存在,则覆盖。
  • mset key1 value1 key2 value2……
    一次设置多对键值对。
  • incr key
    执行一次加1。
  • decr key
    执行一次减1。
  • incrby key integer
    执行一次减少 指定的整数。
  • decrby key integer
    执行一次加上 指定的整数。
  • append key value
    在key的后面添加字符。
  • get key
  • mget key1 key2 ……
    一次获得多个key的值。
  • substr key start end
    截取key的值,包括开始和结束位置的内容。
list 类型
  • lpush key string
    在key对应list的头部添加字符串元素。
  • rpush key string
    从右边添加元素。
  • rpop key
    在key对应list的尾部删除元素,返回删除的元素。
  • lpop key
    从左边删除元素, 返回删除的元素。
  • llen key
    返回key的元素个数。
  • lrange key start end
    返回key指定区间内的元素,包括开始和结束。
  • ltrim key start end
    截取list,保留指定区间元素。
set 类型
  • sadd key member1 member2……
    向key中添加集合元素。如果元素已经存在,返回0
  • srem key member [,member2……]
    将member从key中删除。
  • smove p1 p2 member
    将member从p1中移动到p2中。
  • scard key
    返回key中的元素个数。
  • sismember key member
    判断member是不是在key中,是返回1,不是返回0.
  • sinter key1 key2……
    返回所有给定key的交集。
  • sunion key1 key2……
    返回所有给定key的并集。
  • sdiff key1 key2……
    返回所有给定key的差集。
  • smembers key
    返回key中的所有元素。
Sorted Set排序集合类型

和set一样,sorted set也是string类型元素的集合,不同的是每个元素都会关联一个 权(score)。通过 权值 可以有序的获取集合中的元素。

  • zadd key score member
    添加元素到key,元素存在则更新对应的score。
  • zrem key member
    删除指定元素,成功返回1,如果元素不存在返回0.
  • zremrangebyrank key min max
    删除集合中排名在指定区间的元素。包括min,和max。默认score按从小到大排。
  • zincrby key incr member
    按照incr的幅度增加对应的member的score值,返回score值。
  • zrank key member
    返回指定元素在集合中的排名(下标),集合中的元素是按score从小到大排序的。
  • zrevrank key member
    同zrank,排序按score从大到小排序。
  • zrange key start end
    类似lrange操作,从集合中取指定区间的元素,返回的是有序结果。
  • zrevrange key start end
    和zrange相反的操作。
  • zcard key
    返回key中的元素个数。
  • zscore key member
    返回key集合中指定元素的score。
hash类型
  • hset key field value
    设置 hash field 为指定值,如果key不存在,则先创建。
  • hmset key field1 value1 field2 value2……
  • hdel key field
    删除指定的field
  • hincrby key field integer
    将指定的hash field加上指定的值。
  • hget key field
    获取指定的field的值。
  • hmget key field1 field2……
  • hexists key field
    判断field是不是存在。
  • hlen key
    返回field 的数量。
  • hkeys key
    返回key中的所有field。
  • hvals key
    返回key中的所有value。
  • hgetall key
    返回key中的所有field和value。

你可能感兴趣的:(redis)