1. 安装
1.1 为什么要使用redis
- 支持语言 Redis 支持市面上绝大多数的主流语言,包括 Java、Python、C、C++、Go、Perl、PHP、Ruby、C# 等等
- 丰富的数据类型 Redis 除了支持典型的 string(字符串)类型,还支持 list(列表)、hash(散列表)、sets(集合) 、sorted set(有序集合)、geo(地理位置)等。
- 持久化 Redis 将全部的数据存储在内存中,目前通过两种方式实现持久化
- 性能极高 Redis能读的速度是110000次/s,写的速度是81000次/s,Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。
1.2 安装redis
参考 Redis 安装
安装完以后在 src 目录下会出现编译后的 redis 服务程序 redis-server,还有用于测试的客户端程序 redis-cli
- 启动 redis
> cd src
> ./redis-server
- 进入客户端测试
> cd src
> ./redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
2. 使用桌面管理器
- 安装 AnotherRedisDesktopManager
- 在redis安装目录下
/usr/local/redis修改(查看)配置文件,主要查看(修改)bindprotected-moderequirepassport这几个参数 ,更多参数说明参考 Linux安装部署Redis(超级详细) - 根据上面的参数配置AnotherRedisDesktopManager

- 链接成功界面如下

3. redis入门使用
3.1 设置数据库
- 修改配置文件中
databases参数来设置数据库数量(此处共有16个数据库, index从0到15)

- 使用
SELECT命令切换到指定的数据库,数据库索引号index用数字值指定,以0作为起始索引值。默认使用0号数据库。不同的数据库可以具有相同名称的key。使用Redis Cluster时,无法使用SELECT命令,因为Redis Cluster仅支持数据库0。对于Redis群集,拥有多个数据库将毫无意义

3.2 常用命令
3.2.1 键相关命令
DEL key [key]删除指定的一个或多个 keyEXISTS key [key ...]检查指定的一个或多个 key 是否存在RANDOMKEY从当前数据库中,随机返回一个 keyRENAME key newkey将 key 改名为 newkeyTYPE key返回指定 key 所储存的值的类型
3.2.2 字符串命令
GET key返回 key 所关联的字符串值GETSET key value将指定 key 的值设为 value,并返回 key 的旧值MGET key [key ...]返回指定的一个或多个 key 的值MSET key value [key value ...]同时设置一个或多个 key-value 对SET key value [EX seconds|PX milliseconds] [NX|XX]将字符串值 value 关联到 key,同时可以选择是否增加生存时间,也可以设置键是否存在的条件操作SETNX key value将 key 的值设为 value,当且仅当 key 不存在时,才成功STRLEN key返回 key 所储存的字符串值的长度
3.2.3 其他指令
其他(如:列表、哈希等)相关命令参考 Redis 列表(Lists)
4. python 使用redis
插入数值
set(key, value, ex=None, px=None, nx=False, xx=False)
- 在 Redis 中设置值,默认,不存在则创建,存在则修改
- ex: 过期时间(秒)
- px: 过期时间(毫秒)
- nx: 如果设置为True,则只有name不存在时,当前set操作才执行(新插入)
- xx: 如果设置为True,则只有name存在时,当前set操作才执行(修改)
获取数值
get(key) 获取key对应的值
from redis import StrictRedis, ConnectionPool
import logging
LOG_FORMAT = "%(asctime)s %(levelname)s %(message)s"
logging.basicConfig(level=logging.INFO, format=LOG_FORMAT)
def connect_redis(host, password, port, db_index=0, decode_responses=True, charset="UTF8"):
redis_db = StrictRedis(host, port, db_index, password, decode_responses=decode_responses, charset=charset)
try:
connect_success = redis_db.ping()
if connect_success:
logging.info(f"redis 连接成功!!! 当前连接db_index={db_index}")
else:
logging.error("redis 连接失败!!!")
return redis_db, connect_success
except Exception as e:
logging.error(f"redis 连接出错: {e}")
return redis_db, False
def setValues(redis_db, set_data):
'''
向redis中插入数据
set_data: dict, 要插入的数据
'''
for key, value in set_data.items():
redis_db.set(key, value)
if __name__ == "__main__":
redis_db, is_success = connect_redis(host="localhost",
port=5000,
password="15ae6c07-e0db-301c",
db_index=8)
if is_success:
redis_db.set("how old are you", "18 years old")
redis_db.set("what's your name", "my name is lihua")
res = redis_db.get("how old are you")
res2 = redis_db.get("how are you")
print(res, res2)
输出
18 years old None
redis里存的内容

其他类型的使用参考:Python redis 使用介绍
本文介绍了Redis的特性,包括其对多种语言的支持、丰富的数据类型和高性能。讲解了Redis的安装步骤,如何启动服务及使用客户端进行交互。提到了桌面管理器AnotherRedisDesktopManager的安装与配置。此外,详细阐述了Redis的基本操作,如设置数据库、键相关命令和字符串命令。最后,展示了Python使用Redis的示例,包括设置和获取值的方法。
1341

被折叠的 条评论
为什么被折叠?



