发表于: 2017-09-07 23:41:11
1 928
【今日完成】
今天依旧是在配置Spring-data-Jedis
首先是Xml中的配置,把该配的都配了
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxTotal" value="10"></property>
<property name="maxIdle" value="10"></property>
<property name="minIdle" value="2"></property>
<property name="maxWaitMillis" value="15000"></property>
<property name="minEvictableIdleTimeMillis" value="300000"></property>
<property name="numTestsPerEvictionRun" value="3"></property>
<property name="timeBetweenEvictionRunsMillis" value="60000"></property>
<property name="testOnBorrow" value="true"></property>
<property name="testOnReturn" value="true"></property>
<property name="testWhileIdle" value="true"></property>
</bean>
<bean id="jedisConnectionFactory"
class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"
destroy-method="destroy">
<property name="hostName" value="192.168.31.139" />
<property name="port" value="6379" />
<property name="timeout" value="15000" />
<property name="database" value="0" />
<property name="password" value="" />
<property name="usePool" value="true" />
<property name="poolConfig" ref="jedisPoolConfig" />
</bean>
<!-- redis template definition p表示对该bean里面的属性进行注入,格式为p:属性名=注入的对象 效果与在bean里面使用<property>标签一样 -->
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate"
p:connection-factory-ref="jedisConnectionFactory">
<!-- 序列化方式 建议key/hashKey采用StringRedisSerializer。 -->
<property name="keySerializer">
<bean
class="org.springframework.data.redis.serializer.StringRedisSerializer" />
</property>
<property name="hashKeySerializer">
<bean
class="org.springframework.data.redis.serializer.StringRedisSerializer" />
</property>
<property name="valueSerializer">
<bean
class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer" />
</property>
<property name="hashValueSerializer">
<bean
class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer" />
</property>
</bean>
<!-- 对string操作的封装 -->
<bean id="stringRedisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate"
p:connection-factory-ref="jedisConnectionFactory" />
然后是Jedis工具类:
里面有SAVE,READ,DELETE三个常用方法
@Repository
public class OrderDao {
@Autowired
private RedisTemplate<String,Order> redisTemplate;
public void save(Order order) {
/*redisTemplate.opsForList();
redisTemplate.opsForSet();
redisTemplate.opsForHash()*/
ValueOperations<String, Order> valueOper = redisTemplate.opsForValue();
valueOper.set(order.getId(), order);
}
public Order read(String id) {
ValueOperations<String, Order> valueOper = redisTemplate.opsForValue();
return valueOper.get(id);
}
public void delete(String id) {
ValueOperations<String, Order> valueOper = redisTemplate.opsForValue();
RedisOperations<String,Order> RedisOperations = valueOper.getOperations();
RedisOperations.delete(id);
}
}
费了九牛二虎之力,终于OK了,然后一运行,报了个空指针。
经过调查发现是工具类本身有问题,没有把Redis模板生成出来,所以调用了空的方法。
心态瞬间爆炸!
===================================================================
于是我去学习了一下付老师的计算机基础课,以下是一些笔记
计算机里面都是用的0与1来表示任何内容,那么物理上怎么表示呢?答案是电压,高电压表示1,低电压表示0,非常方便。而且由于跨度比较大,所以很稳定。
计算机是如何执行程序的呢?
计算机核心CPU会以超高的速度来获取指令并执行,当然指令都是储存在内存中的。不过完全不用担心CPU操作不过来,因为CPU速度是内存的十倍,非常快。
关于2进制,8进制,10进制与16进制的转换
如果要把十进制换成其他进制,
整数部分是除要转换的进制,一直除到商是0,然后把余数倒过来排列。举个例子
把26转换为2进制:
26/2=13…0
13/2=6…1
6/2=3…0
3/2=1…1
1/2=0…1
到此商为零,可以把余数从下往上取出
11010即为26的二进制
八进制是同样的道理:
也以26为例子:
26/8=3…2
3/8=0…3
所以26的八进制为倒过来取,即从下往上取余数
32
其实还是蛮简单的,记住口诀就行。
关于编码:
ASC2是最早的编码,由美国人编制,只有128位,里面涵盖了英文字母以及常用符号。
但后面发现世界是联通的,必须要有一个统一的编码来实现所有的语言中的字母。
这样就有了Unicode编码,里面什么文字都有,有日文也有中文。
为了更好的使用Unicode,制定了UTF规范,我国汉字在UTF规则中,一个汉字要占3个字节。
【明日计划】
继续搞Jedis。。。
【今日收获】
学习了基础课程,配置了Jedis,虽然失败了
晚上日报写一半断网了,不容易啊。。
评论