redis 问题点
设置密码
可视化界面管理工具RedisDesktopManager
命令行连接redis
连接本地
redis-cli
ping
如果出现NOAUTH
,则需要输入密码auth pwd
。
操作命令
.net 使用redis
nuget 包StackExchange.Redis
ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("10.11.22.1:6379,10.11.22.1:6379,10.11.22.1:6379,password=123456");
IDatabase db = redis.GetDatabase(0);
db.StringSet("1", "2");
var val = db.StringGet("1");
.net 使用redis CSRedis (推荐这个)
var csredis = new CSRedisClient("127.0.0.1:6379,password=123456");
// RedisHelper.Initialization(csredis);
Console.WriteLine(string.Join(',', csredis.Keys("*")));
csredis.Set("user1", new User { Name = "user1",Age=10 });
Console.WriteLine(csredis.Get("user1"));
//过期时间
//csredis.Set("user2", new User { Name = "user2" },3);
//Console.WriteLine(csredis.Get("user2"));
//System.Threading.Thread.Sleep(4000);
//Console.WriteLine("过了时间段查询:"+csredis.Get("user2"));
//批量删除通配符key
var keyList= _redisDb._client.Keys("alex.system:play.info*").Select(a=> { return a.Replace("alex.system:", ""); }).ToArray();
var a2= _redisDb._client.Del(keyList);
封装了一层简单帮助类
public class RedisCacheHelper
{
private readonly CSRedisClient _client;
public RedisCacheHelper( )
{
_client= new CSRedisClient("127.0.0.1:6379,password=123456");
}
/// <summary>
/// 添加,如果存在则替换
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="key"></param>
/// <param name="val"></param>
/// <param name="expireSecond"></param>
public void Set<T>(string key,T val,int expireSecond=-1)
{
_client.Set(key, val,expireSecond);
}
public T Get<T>(string key)
{
return _client.Get<T>(key);
}
public bool Exists(string key)
{
return _client.Exists(key);
}
public void Remove(string key)
{
_client.Del(key);
}
}
使用
连接字符串
- https://www.cnblogs.com/gygtech/p/14872036.html
"Cache": "localhost:6379,password=123456,preheat=5,idleTimeout=600,defaultDatabase=13,prefix=Cache"
- defaultDatabase Redis服务器数据库
- preheat 预热连接,接收值
- idleTimeout 连接池中元素的空闲时间(MS),适合连接到远程redis服务器
- prefix key前缀,所有方法都会附带此前缀, 结尾最好用
:
python 使用redis
- 安装redis依赖包
pip install redis
- 运行报错
partially initialized module 'redis' has no attribute 'ConnectionPool' (most likely due to a circular import)
ex - 过期时间(秒)
- Demo
import redis
# con='localhost:6379,password=123456,preheat=5,idleTimeout=600,defaultDatabase=02,prefix=alex.system.'
# 厉害了,python找不到 prefix
prefix='alex.system.'
pool = redis.ConnectionPool(host='localhost',port=6379,password='123456',db='02',decode_responses=True)
redisDb= redis.Redis(connection_pool=pool)
a1=redisDb.get("fund.list")
print(type(a1))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。